如果您安排一个SQL Server作业每X分钟运行一次,并且它在上一次调用之前没有完成,那么在规定的分钟数到达之前,它会跳过该运行吗,还是会运行两个实例执行相同的步骤?
在开始新迭代之前,SQL Server代理会检查作业是否已经在运行。 如果您有一个长时间运行的作业,并且其计划出现,它将被跳过直到下一个间隔。
您可以自己尝试一下。如果您尝试启动已经在运行的作业,您将收到相应的错误信息。
您正在使用哪个版本的SQL Server?这似乎是一个非常容易测试的事情。设置一个带有WAITFOR的作业,将单行插入到表中,并将作业设置为在短时间内运行两次(小于WAITFOR DELAY的时间)。
在SQL Server 2005中运行此类测试时,会跳过重叠的运行。