
SqlServer ジョブが実行しているプロセスが何であるかを知りたいのですが、暗号化された文字列で DTSRun を呼び出すことしかわかりません。
文字列をデコードすると、ユーザー名とパスワードを含むジョブ名だけが表示されます。
この仕事が本当に求めているものを見つけるにはどうすればいいでしょうか?
編集: 候補を見つけました。msdb.sysdtspackages にある可能性がありますが、SQLServer ではデータがバイナリであると表示されるため、読み取ることができません。
これらを読んで、それが仕事であるかどうかを確認するにはどうすればよいですか?
答え1
DTS パッケージは次のいずれかに保存されます。
- SQL Server (見つかったバイナリ形式の msdb データベース内)
- ファイルシステム
- リポジトリ
ローカル SQL Server に保存されているパッケージを開いて、その内容を確認するには、次のいずれかの方法で開きます。
a) SQL Enterprise Manager (SQL 2000) - パッケージは、ローカル パッケージの下にあるデータ変換サービス ノードの下にリストされている必要があります。
b) SQL 2005/2008 では、Management Studio または BI Development Studio を使用して、レガシー DTS パッケージを操作できると思います。パッケージは、Management\Legacy\Data Transformation Services の下にリストされているはずです。2008 ではエラーが発生することがあるという話を聞いたことがありますが、これについては MS から修正プログラムが提供されています。
答え2
DTSRUN は DTS パッケージを実行するために使用されます。
ジョブは作業を実行するために DTS パッケージを呼び出しているようです。DTSRUN コマンド ラインのパッケージ名は、/~N コマンド スイッチの後に指定されます。パッケージが保存されているサーバーは、/~S コマンド スイッチの後に指定されます。
サーバーに DTS パッケージが保存されていますか? 保存されている場合は、ジョブと同じ名前のパッケージを探します。