0

SQL Server 2008 を使用しています。エージェントを使用してジョブを作成し、毎分実行するようにスケジュールしました。このジョブは、データをテーブル XXX から一時テーブルに移動し、最終的にテーブル YYY に移動するストアド プロシージャを実行します。

データがかなり大きいため、ジョブの実行には 1 分以上かかる場合があります。

  1. 最初のインスタンスがまだ実行されている場合でも、ジョブの 2 番目のインスタンスが開始されますか?

  2. その場合、一時テーブル (ステータス = 1) のレコードをマークして、それらのレコードがジョブの前のインスタンスによって処理されていることを示す必要がありますか?

  3. ジョブの 2 番目のインスタンスを開始しないように、ジョブのインスタンスが現在実行中であることを確認する方法はありますか?

  4. 私が気付いていない別の解決策はありますか?(スループットが重要)

4

2 に答える 2

3

一度に実行できる特定のジョブのインスタンスは 1 つだけです。

そのため、最初のジョブが停止する前に同じジョブの別の実行が開始されても、特別な予防措置を講じる必要はありません。

于 2011-03-30T09:36:54.670 に答える