71

如果您安排 SQL Server 作业每 X 分钟运行一次,并且它在 # of minutes 结束之前没有完成上一次调用,它会跳过运行,因为它已经在运行,还是会运行两个实例工作做同样的步骤?

4

3 回答 3

90

SQL Server 代理在开始新的迭代之前检查作业是否已经在运行。如果您有长时间运行的作业并且它的时间表出现,它将被跳过,直到下一个间隔。

你可以自己试试这个。如果您尝试启动一个已经在运行的作业,您将收到一个错误。

于 2009-05-14T19:11:36.620 回答
5

我很确定如果它正在运行它会跳过它。

于 2009-05-14T18:49:18.810 回答
2

您使用的是哪个版本的 SQL Server?这似乎是一件很容易测试的事情。设置一个包含 WAITFOR 的作业,将单行插入表中,并将作业设置为快速连续运行两次(比 WAITFOR DELAY 短)。

在 SQL Server 2005 中运行这样的测试时,它会跳过重叠的运行。

于 2009-05-14T19:15:21.807 回答