SQL Server 2000: DTSの起動スケジューリング

SQL Server AgentのジョブでDTSパッケージを起動する。
DTSを起動する際には「DTSRUN」ユーティリティを利用する。
いや、ほんとに、ただこれなんですけどね。やりたいことは。

ジョブで起動するときのコマンドは、例えば以下のようになります。

dtsrun /S localhost /U sa /P password /N SampleDataLoad

「/A」オプションでDTSパッケージのグローバル変数にパラメータをセットすることもできます。

dtsrun /S localhost /U sa /P password /N SampleDataLoad /A Test1_ID:8=TEST1

複数指定する場合は

dtsrun /S localhost /U sa /P password /N SampleDataLoad /A Test1_ID:8=TEST1 /A Test2_ID:8=TEST2

また、「:」の後ろにはグローバル変数のデータ型を指定する必要がありますんで、「dtsrun ユーティリティ」で何を指定すればいいかをご確認ください。

んで。

「dtsrun.exe」を含んだコマンドを単純に実行したところ問題なく完了したが、いざジョブとして設定すると何故か?エラーになる。また、正常に動作したと思ったら、dtsrun.exeが起動したままになり、返事が無い。もちろん、エラーも出ない。

モウイヤダ。

今一度、環境のほうを確認。SQL Server 2000のサービスパックが1つも適用されていないではないですか!(大きなミステイク)なりふりかまわず、SP4を適用。再起動後のジョブは失敗したが(これまた意味不明)、テーブル再作成後は正常に処理が完了することを確認( ´ー`)フゥー...

dtsrun.exeが起動したままになる問題は、SPが当たっていなかったためだと思われます。当ててないワシもワシですが、当てないとこんな基本的なこともまともに動かないことには・・・(自粛)。えっと、下記に本件に関連しそうなKBです。

また、SQL Server Agentの使い方などは、以下にまとめられてます。

SQL Server 2000: DTSの起動スケジューリング

コメントを残す