- 締切済み
バッチからメンテナンスプランを実行させるには?
環境:SQL Server 2005 バッチからSQL Server のメンテナンスプランを 実行して、DBのバックアップを指定のフォルダに格納するという 処理(プラン名:BackUpMaintenancePlan)なのですが、 「dtexec /Ser サーバー名 /U ユーザー名 /P パスワード /SQ "\Maintenance Plans\BackUpMaintenancePlan"」 と記載したバッチ処理をたたくと... ----------------------------------------------------------- 開始: 12:57:55 DTExec: パッケージの実行から返されました DTSER_SUCCESS (0)。 開始: 12:57:55 完了: 12:58:05 経過時間: 10.516 秒 ----------------------------------------------------------- コマンドプロンプトにこのように表示されますが バックアップファイルが生成されません。 SQL Serverのメンテナンスプランを直接実行すると正常に バックアップファイルは格納されているので バッチ処理の書き方に問題がありそうな気がします。 どなたかお分かりになる方がいらっしゃいましたら アドバイス等宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- jamshid6
- ベストアンサー率88% (591/669)
#1です。 メンテナンスプランで自動生成されたパッケージではバックアップを行うコンテナの「Disable」属性がtrueとして生成されます。したがって、SETオプションで「Disable」属性をfalseにしてあげないとコンテナの中身を実行しないまま正常終了します。 したがって、 /SET "\Package\Subplan_1.Disable";false というようなパラメータを追加する必要があると思います。 このSETパラメータの詳細は、メンテナンスプランを実行するジョブのステップを開き「コマンドライン」タブを見ると確認できます。 なお、DTEXECの性質上、リモートでは無理だと思います。
- jamshid6
- ベストアンサー率88% (591/669)
・このコマンドはサーバで実行しているのですか?それともクライアント? ・SSISパッケージを直接叩かずにジョブの方を叩く方が一般的かと思いますが、それではだめなんですか?
お礼
ご返答ありがとうございます。 その後色々と仕様変更等ございまして、メンテナンスプランのみ での処理でいいということになり、問題は解決致しました。 補足ですが、やはりバッチからメンテナンスプランを呼び出す処理で うまく作動していない問題は未解決状態です。 クライアント側からやってもサーバー側からやっても うまく作動しません。