代码之家  ›  专栏  ›  技术社区  ›  Sam Schutte

如果SQL Server作业已经在运行,它是否会跳过计划的运行?

  •  55
  • Sam Schutte  · 技术社区  · 15 年前

    如果将SQL Server作业计划为每x分钟运行一次,但在分钟数达到之前它没有完成上一个调用,那么它是否会跳过运行,因为它已经在运行,还是会运行两个执行相同步骤的作业实例?

    3 回复  |  直到 11 年前
        1
  •  74
  •   Jose Basilio    15 年前

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

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

        2
  •  3
  •   PQW    15 年前

    我很肯定如果它在运行的话它会跳过它。

        3
  •  2
  •   Tom H    15 年前

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

    在SQL Server 2005中运行此类测试时,它跳过了重叠的运行。

    推荐文章