2016-09-19 12 views
-1

私は毎月の最初の1日(すなわち、除外日、太陽)に自分のパッケージをスケジュールしたいと考えています。 月の最初の日が土曜日または日曜日であると仮定した場合、月曜日だけプログラムを実行する必要があります。 月の初日が月曜日(月曜日、火曜日、水曜日、木曜日、金曜日)であるとし、同じ日にプログラムを実行するとします。 SQLエージェントでスケジュールを設定する方法を教えてください。事前毎月第1週にSQLエージェントジョブをスケジュールする方法は?

答えて

2

にあなたが毎日実行し、ちょうどあなたのコード内の日付を確認し、唯一の日付が一致した場合に実行するようにスケジュールすることができます

感謝。

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

0

ジョブのSQLエージェントのスケジュールプロパティに下記のようあなたは毎月第一月曜日にジョブをスケジュールすることができます:Scheduling First Monday of Every month

関連する問題