sp_add_jobschedule (Transact-SQL)
建立日期: 2006 年 4 月 14 日
建立作業計劃。
文法
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,無預設值。時間格式為 HHMMSS,採用 24 小時制。
-
[ @active_end_time = active_end_time
-
在 active_start_date 和 active_end_date 之間的任意日期停止執行作業的時間。active_end_time 的資料類型為 int,無預設值。時間格式為 HHMMSS,採用 24 小時制。
-
[ @schedule_id = schedule_id OUTPUT
-
成功建立計劃時分配給計劃的計劃標識號。schedule_id 是 int 類型的輸出變數,無預設值。
備忘
作業計劃現在可以獨立於作業進行管理。若要向作業中添加計劃,請使用 sp_add_schedule 建立計劃,然後使用 sp_attach_schedule 將該計劃附加到作業。
傳回碼值
0(成功)或 1(失敗)
結果集
無
許可權
預設情況下,只有 sysadmin 固定伺服器角色的成員才可以執行此預存程序。其他使用者必須被授予 msdb 資料庫中下列 SQL Server Agent固定資料庫角色的許可權之一:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
有關這些角色的許可權的詳細資料,請參閱 SQL Server Agent固定資料庫角色。