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 =] 'operator_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
已保留。
傳回碼值
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