SQL Server 2008上にあるDTSパッケージを実行させようとしていますが、そのパッケージが存在しないというエラーを解決したいと思い、質問させて頂きます。
[前提]
1.SQL Server 2008 Workgroup Edition (SP1)を使用しています。
・「Microsoft SQL Server 2008 用 Feature Pack」のインストールにより、「SQL Server 2000 DTSランタイム」を使用可能としました。
・「Microsoft SQL Server 2005 用 Feature Pack」のインストールにより、「SQL Server 2000 DTSデザイナ」を使用可能としました。
2.SQL Server 7.0で作成されていたDTSパッケージを、上記SQL Server 2008上へインポートしました。
・インポートしたDTSパッケージは、「Microsoft SQL Server Management Studio」のオブジェクト エクスプローラにおいて、[管理]-[レガシ]-[データ変換サービス]に「IMP_MstTBL」という名前で表示されています。
・インポートしたDTSパッケージは、「DTS 2000 Package Desiner」上で動作を確認しました。
(「Excute」ボタン/コマンドにより実行し、正常に処理が行われました。)
3.SQL Server エージェントのジョブで、上記のDTSパッケージを動作させたいと考えています。
・作成したジョブのステップにおいて、「オペレーティング システム (CmdExec)」のコマンドを動作させることで実現可能と考え、「dtsrun /S "サーバ名" /U "sa" /P "パスワード" /N "DTSパッケージの名前"」を「コマンド」欄に設定しました。
4.ジョブを実行すると正常終了しないため、ジョブに書いていた「dtsrun」コマンドを「コマンド プロンプト」上でテストしてみました。
・その結果、「DTSパッケージが存在しない」というエラーが発生してしまいました。
-----↓テスト時に表示されたメッセージ
DTSRun: Loading...
Error: -2147217900 (80040E14); Provider Error: 14262 (37B6)
Error string: 指定した DTS パッケージ ('名前 = 'IMP_MstTBL'; ID.VersionID = {[指定なし]}.{[指定なし]}') は存在しません。
Error source: Microsoft OLE DB Provider for SQL Server
Help file:
Help context: 0
-----↑テスト時に表示されたメッセージ
さらに、「dtexec」コマンドも「コマンド プロンプト」上でテストしてみました。
(コマンド)
dtexec /ser "サーバ名" /u "sa" /p "パスワード" /sql "IMP_MstTBL"
(結果のメッセージ)
エラー 0xC001000A が発生したため、パッケージ "IMP_MstTBL" を読み込めませんでした。
説明: 指定されたパッケージを SQL Server データベースから読み込めませんでした。
ソース:
[分からないこと]
dtsrun(またはdtexec)コマンドで、どのようなパラメータを指定すればDTSパッケージを実行させることができるのでしょうか?
これまでに調べたところでは、DTSパッケージの名前を相対パス指定にしなければならなさそうなのですが。
(データベース メンテナンス プランをdtexecコマンドで実行させる際、「\maintenance plans\プラン名」というように指定するらしいという情報を目にしました。)
ご存知の方がいらっしゃるようでしたら、ご教授いただければ幸いです。