我需要每天运行一项工作 16。但如果是“星期六”或“星期日”,则必须在下一个工作日运行。
我不在乎是不是假期。我只需要运行它。
我可以做这样的事情并在步骤上分开它,并且只有在它运行没有错误时才传递到下一步:
--Step 1 - Verify if it is 16
IF day(getdate()) <> 16
RAISERROR ('Job runs only day 16.',16,1)
--Step 2 - verify if its saturday of sunday
IF DATEPART(weekday,getdate()) IN ( 7,1 )
RAISERROR ('Job will run on the next business day.',16,1)
我将使用这些查询创建 2 个步骤,但这不起作用,因为假设下一个工作日是 18 日,第一步将引发错误。
有没有办法安排这样的事情?
它并不漂亮,但是您可以将所有条件包装成
CASE
这样:将其投入到每个月 16 日、17 日和 18 日运行的计划作业中,你会很好。