如何根据特定日期运行SQL Agent作业?

问题描述:

我有2个SQL代理作业如下如何根据特定日期运行SQL Agent作业?

  • 工作1:日(EOD)工作结束
  • 工作2:月(EOM)工作结束

时间表是如下所示:

  • 对于排爆工作,它应该在每个周二,周三,周四,周五和周日(1 am)运行。
  • 对于EOM工作,它应该在每个月的第一天运行。

棘手的部分是:

  1. EOD的工作不应该在每月的第一天运行(接手由EOM工作)。
  2. 如果年月日下跌上周五结束(即2017年3月31日),然后
    • EOM工作应在每月的第2天跑(星期日 - 2017年4月2日)。
    • EOD不应该在周日运行 - 4月2日2017年
  3. 如果年月日下跌星期日(即2017年4月30日),年底则
    • EOM工作应该在周日运行 - 30 2017年四月
    • EOD不应该在周日运行 - 4月30日2017年

你总是可以简单地在SQL代理一个创建日常工作如果作业决定在存储过程中执行,则写入控制逻辑

+0

想知道,是否可以在SQL代理作业本身中执行调度,而不是使用存储过程? – Derek

+0

你看到的是你通过SSMS获得的界面,如果你想要更复杂的任何东西,你必须将逻辑放在t-sql或powershell中 –