安排任务在两个日期之间每天运行两次

时间:2019-04-12 18:34:25

标签: sql-server-2016 jobs sql-agent-job

我使用SQL Server2017。我需要安排作业在每月的7号到27号之间的每天的12am和12pm运行。换句话说,我需要在每个月的两个日期之间每天两次工作。

我可以在一项计划任务中执行此操作,还是必须在每天的确切工作中创建两个作业?

第7个月上午12点 enter image description here

第7个月中午12点 enter image description here

以此类推。

enter image description here

如果我每天必须为每个悬停工作创建一个工作,那么我将有几个时间表。

更新1:我是通过在“计划”标签中创建几个步骤来做到这一点的,但是我希望以更少的步骤来做到这一点。

enter image description here

更新2: 如果我可以像下面这样创建两个步骤,那么对我会很好。

1:每月发生一次,发生时间是每月7日至27日上午12点

2:每月发生在7点至27点之间的中午12点

1 个答案:

答案 0 :(得分:0)

一种方法是使用DATENAMEDATEPART检查日期是否在7号到27号之间。

--IF (DATENAME(DAY, GETDATE()) >= 7 AND DATENAME(DAY, GETDATE()) <= 27) 
IF DATEPART(DD, GETDATE()) BETWEEN 7 AND 27
BEGIN
    EXEC [Your Stored Procedure]        
END

然后将“每日”频率设置为从12:00 AM开始,每12小时发生一次。