共用方式為


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_iduniqueidentifier
  • [ @job_name = ] 'job_name'
    作業的名稱。job_namenvarchar(128)

    ms188745.note(zh-tw,SQL.90).gif附註:
    您必須指定 job_idjob_name,但不能同時指定這兩者。
  • [ @new_name =] 'new_name'
    這是作業的新名稱。new_namenvarchar(128)
  • [ @enabled =] enabled
    指定啟用 (1) 或不啟用 (0) 作業。enabledtinyint
  • [ @description =] 'description'
    這是作業的描述。descriptionnvarchar(512)
  • [ @start_step_id =] step_id
    作業所要執行之第一個步驟的識別碼。step_idint
  • [ @category_name =] 'category'
    作業的類別目錄。categorynvarchar(128)
  • [ @owner_login_name =] 'login'
    擁有作業之登入的名稱。loginnvarchar(128)。只有系統管理員 (sysadmin) 固定伺服器角色可以變更作業擁有權。
  • [ @notify_level_eventlog =] eventlog_level
    指定將項目放在這項作業的 Microsoft Windows NT 應用程式記錄中的時機。eventlog_levelint,它可以是下列值之一。

    描述 (動作)

    0

    永不

    1

    成功時

    2

    失敗時

    3

    永遠

  • [ @notify_level_email =] email_level
    指定在這項作業完成之後,傳送電子郵件的時機。email_levelintemail_level 使用與 eventlog_level 相同的值。
  • [ @notify_level_netsend =] netsend_level
    指定在這項作業完成之後,傳送網路訊息的時機。netsend_levelintnetsend_level 使用與 eventlog_level 相同的值。
  • [ @notify_level_page =] page_level
    指定在這項作業完成之後,傳送頁面的時機。page_levelintpage_level 使用與 eventlog_level 相同的值。
  • [ @notify_email_operator_name =] 'email_name'
    當到達 email_level 時,電子郵件所要送往之操作員的電子郵件名稱。email_namenvarchar(128)
  • [ @notify_netsend_operator_name =] 'netsend_operator'
    網路訊息所要送往之操作員的名稱。netsend_operatornvarchar(128)
  • [ @notify_page_operator_name =] 'page_operator'
    頁面所要送往之操作員的名稱。page_operatornvarchar(128)
  • [ @delete_level =] delete_level
    指定何時刪除作業。delete_valueintdelete_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)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 更新 @job_name、@new_name、@category_name、@owner_login_name、@notify_email_operator_name、@notify_netsend_operator_name 和 @notify_page_operator_name 引數的資料類型。將它們從 sysname 變更為 nvarchar()