共用方式為


sp_update_job (Transact-SQL)

變更作業的屬性。

主題連結圖示 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

請參閱

參考

sp_add_job (Transact-SQL)

sp_delete_job (Transact-SQL)

sp_help_job (Transact-SQL)

系統預存程序 (Transact-SQL)