【问题标题】:How to schedule SQL agent job on first week day of every month? [closed]如何在每个月的第一周安排 SQL 代理作业? [关闭]
【发布时间】:2016-09-19 16:28:55
【问题描述】:

我想在每个月的第一周(即不包括周六、周日)安排我的包裹。 假设一个月的第一天是星期六或星期日,那么星期一只应该执行程序。 假设月份的第一天在任何工作日(周一,周二,周三,周四,周五),然后在同一天执行程序。 请告诉我如何在 sql agent 中设置计划?

提前致谢

【问题讨论】:

    标签: c# .net sql-server ssis sql-agent-job


    【解决方案1】:

    您可以安排它每天运行,只需检查代码中的日期,仅在日期匹配时执行。

    --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
    

    First business day of the current month - SQL Server

    【讨论】:

      【解决方案2】:

      您可以在每个月的第一个星期一安排作业,如下面在作业的 SQL 代理计划属性中给出的:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-02
        • 1970-01-01
        • 2019-06-08
        • 1970-01-01
        • 1970-01-01
        • 2017-10-31
        • 1970-01-01
        • 2021-10-24
        相关资源
        最近更新 更多