web-dev-qa-db-ja.com

SQL Serverジョブは、既に実行されている場合、スケジュールされた実行をスキップしますか?

X分ごとに実行するようにSQL Serverジョブをスケジュールし、#分が経過する前に前の呼び出しが完了しない場合、すでに実行されているため実行をスキップするか、または同じステップを実行する仕事?

56
Sam Schutte

SQL Serverエージェントは、新しいイテレーションを開始する前に、ジョブが既に実行されているかどうかを確認します。実行時間の長いジョブがあり、そのスケジュールが表示された場合、次の間隔までスキップされます。

これを自分で試すことができます。すでに実行中のジョブを開始しようとすると、その結果にエラーが発生します。

75
Jose Basilio

それが実行されている場合は、スキップされると確信しています。

3
PQW

SQL Serverのどのバージョンを使用していますか?これはテストするのはかなり簡単なことのようです。単一の行をテーブルに挿入するWAITFORを含むジョブをセットアップし、2回連続して実行するようにジョブをセットアップします(WAITFOR DELAYより短い)。

SQL Server 2005でこのようなテストを実行すると、重複した実行がスキップされました。

2
Tom H