4

どのSQLエージェントジョブがストアドプロシージャを実行しているかを識別する方法はありますか?

これが必要な理由は、失敗時に実行され、ログファイルを電子メールで送信するストアドプロシージャを持つ別のステップが必要なためです。ログファイルを取得するには(ステップごとではなく、ジョブごとに常に1つのログファイルのみを使用します)、MSDBテーブルをクエリすることでログファイルを取得できるようにしたいと思います(select output_file_name from sysjobsteps)。

ジョブ名のパラメーターをストアドプロシージャに渡すことはできますが、その必要はありません。

何か案は?

ありがとう!

4

1 に答える 1

1

どのジョブがロギングプロシージャを呼び出しているのですか?つまり、誰が私を呼んでいるのですか?その場合、これは関連している可能性があります... SQLServerエージェント-自分のjob_idを取得します..ログプロシージャを投稿する失敗ステップでは、リンクで説明されている方法で取得したjobidを使用できます...imhoは機能します。ただし、ジョブIDパラメーターを追加する必要があります。各ジョブの各失敗ステップには2行が必要です... 1つはIDを取得し、もう1つはprocを呼び出します。

于 2012-06-14T07:47:55.827 に答える