共用方式為


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 =] '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