2009-05-14 94 views

答えて

64

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

あなた自身でこれを試すことができます。すでに実行中のジョブを開始しようとすると、その旨のエラーが表示されます。

+0

すごく、それは私が知りたかったものです。大きな電子メールをダウンロードするのに時には時間がかかる電子メールチェッカーがあります。毎分実行されるため、最初のジョブがまだ完了していなければ、ジョブの2番目のインスタンスが開始されないことが非常に重要です。 –

+0

これを達成する方法はありますか?私はスキップを避け、ジョブの別のインスタンスを開始することを意味しますか?または、別のSQLジョブを作成するだけで済みますか?ありがとう –

3

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

2

使用しているSQL Serverのバージョンはどれですか?これはテストするのがとても簡単なようです。 WAITFORを使用してジョブを設定します.1つの行をテーブルに挿入し、ジョブを連続して2回(WAITFOR DELAYよりも短く)実行するように設定します。

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

+0

私はこれを行うことを検討していた - しかし、それはGoogleに簡単だった.. – Paul

関連する問題