sp_update_job (Transact-SQL)
變更作業的屬性。
語法
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 NT 應用程式記錄中的時機。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
已保留。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_update_job 必須從 msdb 資料庫中執行。
sp_update_job 只會變更提供了參數值的設定。如果省略某個參數,就會保留目前的設定。
權限
依預設,只有系統管理員 (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