X分ごとに実行するようにSQL Serverジョブをスケジュールし、#分が経過する前に前の呼び出しが完了しない場合、すでに実行されているため実行をスキップするか、または同じステップを実行する仕事?
SQL Serverエージェントは、新しいイテレーションを開始する前に、ジョブが既に実行されているかどうかを確認します。実行時間の長いジョブがあり、そのスケジュールが表示された場合、次の間隔までスキップされます。
これを自分で試すことができます。すでに実行中のジョブを開始しようとすると、その結果にエラーが発生します。
それが実行されている場合は、スキップされると確信しています。
SQL Serverのどのバージョンを使用していますか?これはテストするのはかなり簡単なことのようです。単一の行をテーブルに挿入するWAITFORを含むジョブをセットアップし、2回連続して実行するようにジョブをセットアップします(WAITFOR DELAYより短い)。
SQL Server 2005でこのようなテストを実行すると、重複した実行がスキップされました。