【发布时间】:2014-07-25 08:55:36
【问题描述】:
是否有可靠的方法来确定给定 sql 代理将在给定时间范围内运行的时间?
我有一个Microsoft.SqlServer.Management.Smo.Agent.Job 对象,但希望避免重新创建逻辑来根据其时间表计算运行时间。我希望有一些内置功能。
【问题讨论】:
标签: c# sql-server sql-agent-job
是否有可靠的方法来确定给定 sql 代理将在给定时间范围内运行的时间?
我有一个Microsoft.SqlServer.Management.Smo.Agent.Job 对象,但希望避免重新创建逻辑来根据其时间表计算运行时间。我希望有一些内置功能。
【问题讨论】:
标签: c# sql-server sql-agent-job
不,很遗憾没有。当您的工作有多个计划时,检测这一点会更加复杂。
但是,对于只有 1 个时间表的简单情况,我认为您可以执行以下操作:
NextRunDate
ActiveStartDate 设置为下一个运行日期。 ActiveStartDate 设置为其初始值。 您只能在创建作业时执行此操作一次,并保留结果。因此,您消除了每次需要评估运行时间时修改作业的风险(因为更改 ActiveStartDate 实际上会修改计划)。
【讨论】: