アップグレード待ちのレガシー SQL 2000 ボックス
SQL Agent 2000 でジョブが設定された期間を超えて実行されたり、別のエージェント ジョブと重複したりした場合に、そのジョブを強制終了/中止するスクリプトを持っている人はいますか?
これにより、数週間ごとにジョブがオーバーランし、再インデックス ジョブがロックされ、24 時間年中無休のサーバーがフリーズするという深刻な問題が発生しています。
アップグレード待ちのレガシー SQL 2000 ボックス
SQL Agent 2000 でジョブが設定された期間を超えて実行されたり、別のエージェント ジョブと重複したりした場合に、そのジョブを強制終了/中止するスクリプトを持っている人はいますか?
これにより、数週間ごとにジョブがオーバーランし、再インデックス ジョブがロックされ、24 時間年中無休のサーバーがフリーズするという深刻な問題が発生しています。
1 つの解決策は、長時間実行ジョブが重複するジョブの先頭にステップを追加して、長時間実行ジョブがまだ実行されているかどうかを確認し、sp_stop_job
コマンドを発行することです。
を使用してジョブの現在の実行ステータスを取得できますがsp_help_job
、その出力をクエリで操作するのは簡単ではありません。
sp_help_job
ここでは、SQL 2000の出力を一時テーブルに強制的に格納するさまざまな方法について説明します。代わりに、クエリmsdb.sysjobhistory
を実行して実行ステータス情報を取得することもできます。