如何防止Sql Server作业同时运行

ehs*_*san 9 sql-server concurrency sql-server-agent

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

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

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

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

gbn*_*gbn 13

通过sp_getapplock使用会话锁

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

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

  • +1:大坝我希望我多年前知道.以前,我通过使用状态表来监视给定进程的当前状态,一直在解决这个问题. (3认同)