0

そのジョブのストアド プロシージャ内で、スケジュールされたジョブを終了 (停止、終了、実行の停止、失敗の報告) する方法はありますか?

たとえば、ブロック内にいくつかのチェック クエリがあり、TRYブロックRAISERROR (59834,16,1)に移動しCATCHて、チェック クエリが悪い状況を検出したため、ジョブを停止する必要があることを示す電子メールを送信します。59834 という数字は恣意的なものですが、具体的な数字です。ただし、ジョブをテストするたびに、エラーが発生しても、ジョブは引き続き実行されます。失敗を報告することはありません。

ブロックで行ったのと同じものRAISERRORCATCHブロックで使用しようとしましたTRYが、それも機能しませんでした。

この一度のインスタンスでジョブを停止したいのですが、毎日実行されます。

4

1 に答える 1

0

XACT_ABORT 設定がオンになっていないようです。XACT_ABORT をオンにしないと、エラーが発生しても実行は続行されます。XACT_ABORT に関する詳細情報:

XACT_ABORT の Microsoft BOL エントリ

ストアド プロシージャで SET XACT_ABORT ON を使用する利点は何ですか?

SET XACT_ABORT ONそのため、ジョブの開始時にa を検討することができます。

于 2014-05-07T18:38:43.737 に答える