sp_update_job (Transact-SQL)
已更新: 2005 年 12 月 5 日
更改作業的屬性。
文法
sp_update_job [ @job_id =] job_id | [@job_name =] 'job_name'
[, [@new_name =] 'new_name' ]
[, [@enabled =] enabled ]
[, [@description =] 'description' ]
[, [@start_step_id =] step_id ]
[, [@category_name =] 'category' ]
[, [@owner_login_name =] 'login' ]
[, [@notify_level_eventlog =] eventlog_level ]
[, [@notify_level_email =] email_level ]
[, [@notify_level_netsend =] netsend_level ]
[, [@notify_level_page =] page_level ]
[, [@notify_email_operator_name =] 'email_name' ]
[, [@notify_netsend_operator_name =] 'netsend_operator' ]
[, [@notify_page_operator_name =] 'page_operator' ]
[, [@delete_level =] delete_level ]
[, [@automatic_post =] automatic_post ]
參數
-
[ @job_id =] job_id
-
要更新的作業標識號。job_id 的資料類型為 uniqueidentifier。
-
[ @job_name =] 'job_name'
-
作業的名稱。job_name 的資料類型為 nvarchar(128)。
| 注意: |
| 必須指定 job_id 或 job_name,但不能兩個都指定。 |
-
[ @new_name =] 'new_name'
-
作業的新名稱。new_name 的資料類型為 nvarchar(128)。
-
[ @enabled =] enabled
-
指定已啟用(1)還是未啟用(0)作業。enabled 的資料類型為 tinyint。
-
[ @description =] 'description'
-
作業的說明。description 的資料類型為 nvarchar(512)。
-
[ @start_step_id =] step_id
-
作業中要執行的第一個步驟的標識號。step_id 的資料類型為 int。
-
[ @category_name =] 'category'
-
作業的類別。category 的資料類型為 nvarchar(128)。
-
[ @owner_login_name =] 'login'
-
擁有作業的登入名稱。login 的資料類型為 nvarchar(128)。只有 sysadmin 固定伺服器角色的成員才能更改作業所有權。
-
[ @notify_level_eventlog =] eventlog_level
-
指定何時將該作業的項放入 Microsoft Windows 應用程式記錄檔。eventlog_level 的資料類型為 int,可以是下列值之一:
| 值 |
說明(操作) |
0 |
從不 |
1 |
成功時 |
2 |
失敗時 |
3 |
始終 |
-
[ @notify_level_email =] email_level
-
指定在該作業完成後寄送電子郵件的時間。email_level 的資料類型為 int。email_level 與 eventlog_level 使用相同的值。
-
[ @notify_level_netsend =] netsend_level
-
指定在該作業完成後發送網路訊息的時間。netsend_level 的資料類型為 int。netsend_level 與 eventlog_level 使用相同的值。
-
[ @notify_level_page =] page_level
-
指定在該作業完成後發送頁的時間。page_level 的資料類型為 int。page_level 與 eventlog_level 使用相同的值。
-
[ @notify_email_operator_name =] 'email_name'
-
當達到 email_level 時要將電子郵件發送到的操作員的電子郵件名稱。email_name 的資料類型為 nvarchar(128)。
-
[ @notify_netsend_operator_name =] 'netsend_operator'
-
向其發送網路訊息的操作員的名稱。netsend_operator 的資料類型為 nvarchar(128)。
-
[ @notify_page_operator_name =] 'page_operator'
-
向其發送頁的操作員的名稱。page_operator 的資料類型為 nvarchar(128)。
-
[ @delete_level =] delete_level
-
指定刪除作業的時間。delete_value 的資料類型為 int。delete_level 與 eventlog_level 使用相同的值。
-
[ @automatic_post =] automatic_post
-
保留。
備忘
sp_update_job 必須從 msdb 資料庫中運行。
sp_update_job 只更改提供了參數值的設定。如果省略某一參數,則保留其當前設定。
傳回碼值
0(成功)或 1(失敗)
許可權
預設情況下,只有 sysadmin 固定伺服器角色的成員才可以執行此預存程序。其他使用者必須被授予 msdb 資料庫中下列 SQL Server Agent固定資料庫角色的許可權之一:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
有關這些角色的許可權的詳細資料,請參閱 SQL Server Agent固定資料庫角色。
只有 sysadmin 的成員才可以使用此預存程序編輯其他使用者擁有的作業的屬性。
樣本
以下樣本更改了作業 NightlyBackups 的名稱、說明和啟用狀態。
USE msdb ;
GO
EXEC dbo.sp_update_job
@job_name = N'NightlyBackups',
@new_name = N'NightlyBackups -- Disabled',
@description = N'Nightly backups disabled during server migration.',
@enabled = 0 ;
GO