9

我的 SQL 代理中有一些预定的作业:

  • Job1,每 2 分钟执行一次
  • Job2,每 10 分钟执行一次
  • Job3,每 15 分钟执行一次

如您所见,多个作业可以同时运行。当这些作业同时运行时,会导致 CPU 使用率达到 100%。

有解决办法吗?有没有办法控制同时运行的作业数量?注意:我需要这些作业大约在适当的时期内运行。

4

1 回答 1

13

通过sp_getapplock使用会话锁

您要求用户控制的并发性,这通常是最好的方法。

如果锁已被另一个作业持有,这允许您等待或中止。我们在一两个地方使用它来阻止多个用户强制相同的任务重叠运行。它运作良好。

于 2010-10-19T12:59:02.397 回答