sp_add_jobschedule (Transact-SQL)
更新: 2008 年 11 月 17 日
建立作業的排程。
語法
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
要加入排程的作業識別碼。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 Agent 服務啟動時執行。
128
在電腦閒置時執行。
[ @freq_interval= ] frequency_interval
執行作業的天數。frequency_interval 是 int,預設值是 0,而且它會隨著 frequency_type 的值而不同,如下表所示:值 效果 1 (一次)
frequency_interval 未使用。
4 (每天)
每隔 frequency_interval 天。
8 (每週)
frequency_interval 是下列一或多項 (以 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 Agent 服務啟動時)
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
第一個
2
第二個
4
第三個
8
第四個
16
最後一個
frequency_relative_interval 指出間隔的發生次數。例如,如果將 frequency_relative_interval 設定為 2、將 frequency_type 設定為 32,並將 frequency_interval 設定為 3,排程作業將會在每個月的第二個星期二發生。
- [ @freq_recurrence_factor= ] frequency_recurrence_factor
作業的各排程執行之間的週數或月數。只有當 frequency_type 設定為 8、16 或 32 時,才會使用 frequency_recurrence_factor。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,沒有預設值。時間格式為使用 24 小時制的 HHMMSS。
- [ **@active_end_time=**active_end_time
在 active_start_date 和 active_end_date 之間任何一天結束執行作業的時間。active_end_time 是 int,沒有預設值。時間格式為使用 24 小時制的 HHMMSS。
- [ @schedule_id=schedule_idOUTPUT
成功建立排程時,指派給這個排程的排程識別碼。schedule_id 是 int 類型的輸出變數,沒有預設值。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
None
備註
現在,您可以在作業之外,獨立管理作業排程。若要將排程加入作業中,請利用 sp_add_schedule 來建立排程,利用 sp_attach_schedule 將排程附加在作業上。
Permissions
依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。
請參閱
參考
sp_add_schedule (Transact-SQL)
sp_attach_schedule (Transact-SQL)
其他資源
如何:排程作業 (SQL Server Management Studio)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2008 年 11 月 17 日 |
|