SQLエージェントにスケジュールされたジョブがいくつかあります。
- Job1、2分ごとに実行
- Job2、10分ごとに実行
- Job3、15分ごとに実行
ご覧のとおり、複数のジョブを同時に実行できます。これらのジョブが同時に実行されると、CPU使用率が100%になります。
解決策はありますか?同時に実行されるジョブの数を制御する方法はありますか?注:これらのジョブは、ほぼ適切な期間に実行する必要があります。
SQLエージェントにスケジュールされたジョブがいくつかあります。
ご覧のとおり、複数のジョブを同時に実行できます。これらのジョブが同時に実行されると、CPU使用率が100%になります。
解決策はありますか?同時に実行されるジョブの数を制御する方法はありますか?注:これらのジョブは、ほぼ適切な期間に実行する必要があります。
sp_getapplockを介してセッションロックを使用する
ユーザー制御の同時実行性を求めているので、これが通常は最良の方法です。
これにより、ロックが別のジョブによってすでに保持されている場合に、待機または中止することができます。1つまたは2つの場所で使用して、複数のユーザーが同じタスクを重複して実行するのを防ぎます。それはうまくいきます。