【发布时间】:2016-09-19 16:28:55
【问题描述】:
我想在每个月的第一周(即不包括周六、周日)安排我的包裹。 假设一个月的第一天是星期六或星期日,那么星期一只应该执行程序。 假设月份的第一天在任何工作日(周一,周二,周三,周四,周五),然后在同一天执行程序。 请告诉我如何在 sql agent 中设置计划?
提前致谢
【问题讨论】:
标签: c# .net sql-server ssis sql-agent-job
我想在每个月的第一周(即不包括周六、周日)安排我的包裹。 假设一个月的第一天是星期六或星期日,那么星期一只应该执行程序。 假设月份的第一天在任何工作日(周一,周二,周三,周四,周五),然后在同一天执行程序。 请告诉我如何在 sql agent 中设置计划?
提前致谢
【问题讨论】:
标签: c# .net sql-server ssis sql-agent-job
您可以安排它每天运行,只需检查代码中的日期,仅在日期匹配时执行。
--WorkDay of current month
DECLARE @FoM DATETIME
SELECT
@FoM =
CASE
WHEN DATENAME(WEEKDAY, dateadd(mm, DATEDIFF(MM, 0, getdate()), 0)) = 'Saturday'
THEN dateadd(mm, DATEDIFF(MM, 0, getdate()), 0) + 2
WHEN DATENAME(WEEKDAY, dateadd(mm, DATEDIFF(MM, 0, getdate()), 0)) = 'Sunday'
THEN dateadd(mm, DATEDIFF(MM, 0, getdate()), 0) + 1
ELSE dateadd(mm, DATEDIFF(MM, 0, getdate()), 0)
END
IF @FoM = CAST(GETDATE() as DATE)
BEGIN
...your code to execute...
END
【讨论】:
您可以在每个月的第一个星期一安排作业,如下面在作业的 SQL 代理计划属性中给出的:
【讨论】: