T-SQLを使用する場合は、sp_add_schedule
を使用できます。 SQLServerエージェントのスケジュールを追加するためのストアドプロシージャ。
この手順でスケジュールを作成しますが、どのジョブにも添付しません。ジョブにアタッチするには、sp_attach_schedule
を使用する必要があります 手順。
sp_add_jobschedule
を使用することもできます スケジュールを作成し、すべて同じ手順で添付します。
sp_add_schedule
の例 手順
sp_add_schedule
を使用する例を次に示します。 新しいスケジュールを作成するには:
EXEC sp_add_schedule
@schedule_name = N'RunDailyAM',
@freq_type = 4,
@freq_interval = 4,
@active_start_time = 041000;
GO
このストアドプロシージャは、この例に含まれているよりも多くの引数を受け入れますが、これらはより一般的なものの一部です。受け入れられる値の概要については、以下の表を参照してください。
@schedule_name
は必須の引数ですが、その他はオプションであり、指定しない場合に備えてデフォルト設定があります。
これで、sp_attach_schedule
を使用できます そのスケジュールを既存のジョブに添付するには:
EXEC sp_attach_schedule
@job_name = N'BackupPetHotelDB',
@schedule_name = N'RunDailyAM';
GO
sp_attach_schedule
を使用する場合 、ジョブの名前またはそのID(両方ではない)、およびスケジュール名またはID(両方ではない)を指定する必要があります。
sp_add_jobschedule
の例 手順
sp_add_jobschedule
を使用する例を次に示します。 新しいスケジュールを作成してジョブに添付するには、すべて一度に:
EXEC sp_add_jobschedule
@job_name = N'BackupMusicDB',
@name = N'Weekly_Sun_3AM',
@freq_type = 8,
@freq_interval = 1,
@freq_recurrence_factor = 1,
@active_start_time = 30000;
この手順では、@job_name
引数はジョブ名と@name
を提供します 引数は、スケジュールに付ける名前を提供します。
パラメータ値
スケジュールデータがmsdbに保存される方法 データベースを使用すると、T-SQLを使用したジョブのスケジューリングに関して少し注意が必要になります。
日付/時刻の値はintとして保存されます タイプ。頻度タイプはintとして表されます 、間隔値、およびその他のさまざまなオプションも同様です。
以下は、上記の例で提供されたパラメータの許容値の概要です。
@freq_type
この引数は、ジョブがいつ実行されるかを指定します。次の値を受け入れます:
値 | 説明 |
---|---|
1 | 一度 |
4 | 毎日 |
8 | 毎週 |
16 | 毎月 |
32 | 毎月、freq_interval を基準に |
64 | SQLエージェントサービスの開始時に実行 |
128 | コンピューターがアイドル状態のときに実行する |
@freq_interval
この引数は、ジョブが実行される日を指定します。
この引数は、@freq_type
の値によって異なります。 次の表に概説されているように、引数:
freq_type の値 | freq_interval への影響 |
---|---|
1 (1回) | freq_interval 未使用です。 |
4 (毎日) | すべてのfreq_interval 日。 |
8 (毎週) | freq_interval 次の1つ以上です(OR と組み合わせて 論理演算子): 1 (日曜日) 2 (月曜日) 4 (火曜日) 8 (水曜日) 16 (木曜日) 32 (金曜日) 64 (土曜日) |
16 (毎月) | freq_interval について 月の日。 |
32 (月次相対) | freq_interval 次のいずれかです。 1 (日曜日) 2 (月曜日) 3 (火曜日) 4 (水曜日) 5 (木曜日) 6 (金曜日) 7 (土曜日) 8 (日) 9 (平日) 10 (週末) |
64 (SQLServerAgentサービスの開始時) | freq_interval 未使用です。 |
128 | freq_interval 未使用です。 |
@freq_recurrence_factor
これは、スケジュールされたジョブの実行間の週数または月数を指定します。
これはintです 、デフォルトは0
、freq_type
の場合にのみ使用されます 8
です 、16
、または32
。
@active_start_time
@active_start_date
の間の任意の日の時刻を指定します および@active_end_date
ジョブの実行を開始するための引数。 @active_start_time
int 、デフォルトは000000
、12:00:00A.M.を示します24時間制で、フォームHHMMSSを使用して入力する必要があります。
@active_start_date
上記の例には含まれていませんが、@active_start_date
引数を使用すると、ジョブの実行を開始できる日付を指定できます。これはintです 、デフォルトはNULLで、今日の日付を示します。日付はYYYYMMDDとしてフォーマットされます。
@active_end_date
@active_end_date
を提供することもできます 引数。ジョブの実行を停止できる日付を指定します。
@active_end_date
int 、デフォルトは99991231
、は9999年12月31日を示します。日付はYYYYMMDDとしてフォーマットされます。
詳細h2>
sp_add_schedule
については、Microsoftのドキュメントを参照してください。 および/またはsp_add_jobschedule
に関するMicrosoftのドキュメント さまざまな引数とそれらの受け入れられる値の詳細については、