SQLエージェントでスケジュールされた夜間SQL Serverジョブがあります。SQL Serverジョブによって使用されるオブジェクト
これは、データベース、ストアドプロシージャとテーブルの数を使用しています。
これらのリストを取得するのが最善とは何ですか?
(そのSQL Server 2000の)
SQLエージェントでスケジュールされた夜間SQL Serverジョブがあります。SQL Serverジョブによって使用されるオブジェクト
これは、データベース、ストアドプロシージャとテーブルの数を使用しています。
これらのリストを取得するのが最善とは何ですか?
(そのSQL Server 2000の)
次のクエリを使用してジョブの各ステップのコマンドテキストを取得することができます。
SELECT sj.name AS job_name
,sjs.step_id
,sjs.step_name
,sjs.command
FROM msdb.dbo.sysjobs AS sj
JOIN msdb.dbo.sysjobsteps AS sjs
ON sj.job_id = sjs.job_id
WHERE sj.name = '~your job name~'
AND sjs.subsystem = 'TSQL'
ORDER BY sj.name
,sjs.step_id
あなたは、各ジョブステップのコマンドテキストを検索することができますデータベース、テーブル、およびストアドプロシージャの名前を検索します。これは、オブジェクトの命名規則が一貫していれば簡単です(テーブル名はt_、ストアドプロシージャ名はusp_で始まります)。あなたの検索のコメントを除外してください。
正規表現ライブラリは、簡単にこの作業を行いますが、それらのためのサポートは、ネイティブのT-SQLには含まれていません。 more than one wayを追加してregular expression supportをSQL 2000に追加するか、別の言語/ツールを使用して検索を実行することができます。
残念ながら、T-SQLコマンドの複雑さに応じて、書き込み(又は内購入)することなく、オブジェクト名を識別するのない100%保証する方法がないかもしれないT-SQLパーサ。
あなたは上記のクエリからSQL文を取得する場合、私はあなたがそれらを直接解析する代わりに、推定クエリプランのうちの参照を解析しないことをお勧めします。これは、SQLを直接構文解析するよりはるかに簡単です。もしあなたがSQL 2005上にいたなら、私はあなたにいくつかのxqueryの例を与えることができました。 – ahains