9

SQLエージェントにスケジュールされたジョブがいくつかあります。

  • Job1、2分ごとに実行
  • Job2、10分ごとに実行
  • Job3、15分ごとに実行

ご覧のとおり、複数のジョブを同時に実行できます。これらのジョブが同時に実行されると、CPU使用率が100%になります。

解決策はありますか?同時に実行されるジョブの数を制御する方法はありますか?注:これらのジョブは、ほぼ適切な期間に実行する必要があります。

4

1 に答える 1

13

sp_getapplockを介してセッションロックを使用する

ユーザー制御の同時実行性を求めているので、これが通常は最良の方法です。

これにより、ロックが別のジョブによってすでに保持されている場合に、待機または中止することができます。1つまたは2つの場所で使用して、複数のユーザーが同じタスクを重複して実行するのを防ぎます。それはうまくいきます。

于 2010-10-19T12:59:02.397 に答える