如果您安排SQL Server作业每隔X分钟运行一次,并且在分钟数达到之前没有完成上一次调用,它是否会跳过运行,因为它已经运行,或者它会运行两次这个工作的实例做了同样的步骤?
答案 0 :(得分:74)
SQL Server代理在开始新迭代之前检查作业是否已在运行。如果你有长时间的工作并且它的计划出现,它将被跳过,直到下一个间隔。
你可以自己尝试一下。如果您尝试启动已经运行的作业,则会出现相应的错误。
答案 1 :(得分:3)
我很确定如果它正在运行,它会跳过它。
答案 2 :(得分:2)
您使用的是哪个版本的SQL Server?这似乎是一个非常容易测试的东西。设置一个带有WAITFOR的作业,该作业将一行插入表中,并将作业设置为快速连续运行两次(短于WAITFOR DELAY)。
在SQL Server 2005中运行此类测试时,它会跳过重叠的运行。