sp_add_jobschedule (Transact-SQL)
ジョブのスケジュールを作成します。
構文
sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name', [ @name = ] 'name'
[ , [ @enabled = ] enabled_flag ]
[ , [ @freq_type = ] frequency_type ]
[ , [ @freq_interval = ] frequency_interval ]
[ , [ @freq_subday_type = ] frequency_subday_type ]
[ , [ @freq_subday_interval = ] frequency_subday_interval ]
[ , [ @freq_relative_interval = ] frequency_relative_interval ]
[ , [ @freq_recurrence_factor = ] frequency_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
引数
[ @job_id= ] job_id
スケジュールを追加するジョブの ID 番号を指定します。job_id のデータ型は uniqueidentifier で、既定値はありません。[ @job_name= ] 'job_name'
スケジュールを追加するジョブの名前を指定します。job_name のデータ型は nvarchar(128) で、既定値はありません。注 job_id または job_name のいずれかを指定する必要があります。両方を指定することはできません。
[ @name= ] 'name'
スケジュールの名前を指定します。name のデータ型は nvarchar(128) で、既定値はありません。[ @enabled= ] enabled_flag
スケジュールの現在の状態を示します。enabled_flag のデータ型は tinyint で、既定値は 1 (有効) です。0 を指定した場合、スケジュールは無効になります。スケジュールが無効な場合は、ジョブは実行されません。[ @freq_type= ] frequency_type
いつジョブを実行するかを示す値を指定します。frequency_type のデータ型は int で、既定値は 0 です。有効値は次のとおりです。値
説明
1
一度だけ
4
毎日
8
毎週
16
毎月
32
frequency_interval. を基準とした月単位
64
SQL Server エージェント サービスの起動時に実行します。
128
コンピューターがアイドル状態のときに実行します。
[ @freq_interval= ] frequency_interval
ジョブを実行する日を指定します。frequency_interval のデータ型は int で、既定値は 0 です。この値は、次の表に示すように frequency_type の値に応じて異なります。値
結果
1 (1 回のみ)
frequency_interval は使用されません。
4 (毎日)
frequency_interval に指定した日数ごとに実行。
8 (毎週)
frequency_interval には次の値を 1 つ以上指定できます (OR 論理演算子で結合します)。
1 = 日曜日
2 = 月曜日
4 = 火曜日
8 = 水曜日
16 = 木曜日
32 = 金曜日
64 = 土曜日
16 (毎月)
毎月の frequency_interval で指定した日に実行。
32 (月単位)
frequency_interval には、次のいずれかの値を指定できます。
1 = 日曜日
2 = 月曜日
3 = 火曜日
4 = 水曜日
5 = 木曜日
6 = 金曜日
7 = 土曜日
8 = 日
9 = 平日
10 = 土日
64 (SQL Server エージェント サービスの起動時)
frequency_interval は使用されません。
128
frequency_interval は使用されません。
[ @freq_subday_type= ] frequency_subday_type
frequency_subday_interval の単位を指定します。frequency_subday_type のデータ型は int で、既定値はありません。有効値は次のとおりです。値
説明 (単位)
0x1
指定した時間
0x4
分
0x8
時間
[ @freq_subday_interval= ] frequency_subday_interval
ジョブの実行間隔を示す frequency_subday_type 期間の数を指定します。frequency_subday_interval のデータ型は int で、既定値は 0 です。[ @freq_relative_interval= ] frequency_relative_interval
frequency_type が 32 (月単位) に設定されている場合は frequency_interval をさらに定義します。frequency_relative_interval のデータ型は int で、既定値はありません。有効値は次のとおりです。
値
説明 (単位)
1
第 1
2
第 2
4
第 3
8
第 4
16
最終
frequency_relative_interval は、相対的な間隔を示します。たとえば、frequency_relative_interval を 2 に設定し、frequency_type を 32 に設定し、さらに frequency_interval を 3 に設定した場合、スケジュールされたジョブは毎月第 2 火曜日に実行されます。
[ @freq_recurrence_factor= ] frequency_recurrence_factor
ジョブを実行する週間隔または月間隔を指定します。frequency_recurrence_factor は frequency_type が 8、16、または 32 の場合にのみ使用されます。frequency_recurrence_factor のデータ型は int で、既定値は 0 です。[ @active_start_date= ] active_start_date
ジョブの実行を開始できる日付を指定します。active_start_date のデータ型は int で、既定値はありません。日付の形式は YYYYMMDD です。active_start_date が設定されている場合、日付は 19900101 以降にする必要があります。スケジュールの作成後は、開始日が正しい日付であることを確認するようにしてください。詳細については、「スケジュールの作成とジョブへのアタッチ」の「開始日のスケジュール設定」を参照してください。
[ @active_end_date= ] active_end_date
ジョブの実行を停止できる日付を指定します。active_end_date のデータ型は int で、既定値はありません。日付の形式は YYYYMMDD です。[ @active_start_time= ] active_start_time
active_start_date と active_end_date の間の日で、ジョブの実行を開始する時刻を指定します。active_start_time のデータ型は int で、既定値はありません。時刻の形式は HHMMSS で、24 時間形式です。[ **@active_end_time=**active_end_time
active_start_date と active_end_date の間の日で、ジョブの実行を終了する時刻を指定します。active_end_time のデータ型は int で、既定値はありません。時刻の形式は HHMMSS で、24 時間形式です。[ @schedule_id=schedule_idOUTPUT
スケジュールの作成が成功したときにスケジュールに割り当てられるスケジュール ID 番号を指定します。schedule_id は int 型の出力変数で、既定値はありません。[ @schedule_uid= ] schedule_uidOUTPUT
スケジュールの一意識別子を指定します。schedule_uid は uniqueidentifier 型の変数です。
リターン コード値
成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。
結果セット
なし。
説明
ジョブ スケジュールはジョブとは別々に管理できます。スケジュールをジョブに追加するには、sp_add_schedule を使用してスケジュールを作成し、sp_attach_schedule を使用してジョブにスケジュールをアタッチします。
権限
既定では、このストアド プロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバーです。他のユーザーには、msdb データベースの次のいずれかの SQL Server エージェント固定データベース ロールが許可されている必要があります。
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
これらのロールの権限に関する詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。
関連項目