sp_update_schedule (Transact-SQL)
更新 : 2008 年 11 月 17 日
SQL Server エージェントのスケジュールの設定を変更します。
構文
sp_update_schedule
{ [ @schedule_id = ] schedule_id
| [ @name = ] 'schedule_name' }
[ , [ @new_name = ] new_name ]
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_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 ]
[ , [ @owner_login_name = ] 'owner_login_name' ]
[ , [ @automatic_post =] automatic_post ]
引数
- [ @schedule_id = ] schedule_id
変更するスケジュールの識別子を指定します。schedule_id のデータ型は int で、既定値はありません。schedule_id または schedule_name のいずれかを指定する必要があります。
- [ @name = ] 'schedule_name'
変更するスケジュールの名前を指定します。schedule_name のデータ型は sysname で、既定値はありません。schedule_id または schedule_name のいずれかを指定する必要があります。
- [ @new_name= ] new_name
スケジュールの新しい名前を指定します。new_name のデータ型は sysname で、既定値は NULL です。new_name が NULL の場合、スケジュールの名前は変わりません。
- [ @enabled = ] enabled
スケジュールの現在の状態を指定します。enabled のデータ型は tinyint で、既定値は 1 (有効) です。0 を指定した場合、スケジュールは無効になります。スケジュールが無効な場合、このスケジュールでジョブは実行されません。
[ @freq_type = ] freq_type
いつジョブを実行するかを示す値を指定します。freq_type のデータ型は int で、既定値は 0 です。次のいずれかの値を指定できます。値 説明 1
1 回
4
毎日
8
毎週
16
毎月
32
freq interval を基準とした月単位
64
SQL Server エージェント サービスの起動時に実行
128
コンピュータがアイドル状態のときに実行
[ @freq_interval = ] freq_interval
ジョブを実行する日を指定します。freq_interval のデータ型は int で、既定値は 0 です。この値は、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_subday_type = ] freq_subday_type
freq_subday_interval の単位を指定します。freq_subday_type のデータ型は int で、既定値は 0 です。次のいずれかの値を指定できます。値 説明 (単位) 0x1
指定した時間
0x2
秒
0x4
分
0x8
時間
- [ @freq_subday_interval = ] freq_subday_interval
ジョブの実行間隔を示す freq_subday_type 期間の数を指定します。freq_subday_interval のデータ型は int で、既定値は 0 です。
[ @freq_relative_interval = ] freq_relative_interval
freq_interval が 32 (月単位) の場合に、各月のジョブの freq_interval を指定します。freq_relative_interval のデータ型は int で、既定値は 0 です。次のいずれかの値を指定できます。値 説明 (単位) 1
第 1 週
2
第 2
4
第 3
8
第 4
16
最終週
- [ @freq_recurrence_factor = ] freq_recurrence_factor
ジョブを実行する週間隔または月間隔を指定します。freq_recurrence_factor は freq_type が 8、16、または 32 の場合にのみ使用されます。freq_recurrence_factor のデータ型は int で、既定値は 0 です。
[ @active_start_date = ] active_start_date
ジョブの実行を開始できる日付を指定します。active_start_date のデータ型は int で、既定値は NULL です。既定値は今日の日付を示します。日付の形式は YYYYMMDD です。active_start_date が NULL でない場合、日付は 19900101 以降にする必要があります。スケジュールを作成したら、開始日が正しい日付であることを確認します。詳細については、「スケジュールの作成」の「開始日のスケジュール設定」を参照してください。
- [ @active_end_date = ] active_end_date
ジョブの実行を停止できる日付を指定します。active_end_date のデータ型は int で、既定値は 99991231 です。既定値は 9999 年 12 月 31 日を表します。形式は YYYYMMDD です。
- [ @active_start_time = ] active_start_time
active_start_date と active_end_date の間にある任意の日にジョブの実行を開始する時刻を指定します。active_start_time のデータ型は int で、既定値は 000000 です。既定値は 12:00:00 AM を 24 時間形式で表したものです。HHMMSS 形式で入力する必要があります。
- [ @active_end_time = ] active_end_time
active_start_date と active_end_date の間にある任意の日にジョブの実行を終了する時刻を指定します。active_end_time のデータ型は int で、既定値は 235959 です。既定値は 11:59:59 PM を 24 時間形式で表したものです。HHMMSS 形式で入力する必要があります。
- [ @owner_login_name= ] 'owner_login_name']
スケジュールを所有するサーバー プリンシパルの名前を指定します。owner_login_name のデータ型は sysname で、既定値は NULL です。既定値はスケジュールの所有者が作成者であることを示します。
- [ @automatic_post =] automatic_post
予約済み。
リターン コードの値
0 (成功) または 1 (失敗)
解説
スケジュールを使用するすべてのジョブによって、すぐに新しい設定が使用されます。ただし、スケジュールを変更しても、現在実行中のジョブは停止しません。
権限
既定では、このストアド プロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバです。他のユーザーには、msdb データベースにおける次のいずれかの SQL Server エージェント固定データベース ロールが許可されている必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限に関する詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。
別のユーザーが所有するスケジュールを変更できるのは、sysadmin のメンバだけです。
例
次の例では NightlyJobs
スケジュールの有効な状態を 0
に変更し、所有者を terrid
に設定します。
USE msdb ;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid' ;
GO
参照
関連項目
sp_add_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)
sp_help_schedule (Transact-SQL)
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2008 年 11 月 17 日 |
|