共用方式為


sp_delete_job (Transact-SQL)

刪除作業。

語法

sp_delete_job { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
     [ , [ @originating_server = ] 'server' ] 
     [ , [ @delete_history = ] delete_history ]
     [ , [ @delete_unused_schedule = ] delete_unused_schedule ]

引數

  • [ @job_id= ] job_id
    這是要刪除之作業的識別碼。job_iduniqueidentifier,預設值是 NULL。
  • [ @job_name= ] 'job_name'
    這是要刪除的作業名稱。job_namesysname,預設值是 NULL。

    ms188376.note(zh-tw,SQL.90).gif附註:
    您必須指定 job_idjob_name,但不能同時指定這兩者。
  • [ @originating_server= ] 'server'
    供內部使用。
  • [ @delete_history= ] delete_history
    指定是否刪除作業的歷程記錄。delete_historybit,預設值是 1。當 delete_history1 時,會刪除作業的作業歷程記錄。當 delete_history0 時,不會刪除作業歷程記錄。

    請注意,當只刪除作業而不刪除歷程記錄時,作業的歷程記錄資訊並不會出現在 SQL Server Agent 圖形使用者介面作業歷程記錄中,不過,msdb 資料庫的 sysjobhistory 資料表仍會保留這項資訊。

  • [ @delete_unused_schedule= ] delete_unused_schedule
    指定當附加至這項作業的排程並未附加至任何其他作業時,是否刪除這些排程。delete_unused_schedulebit,預設值是 1。當 delete_unused_schedule1 時,如果沒有任何其他作業參考附加至這項作業的排程,便刪除這些排程。當 delete_unused_schedule0 時,不會刪除這些排程。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

保留 @originating_server 引數,供內部使用。

@delete_unused_schedule 引數會自動移除未附加至任何作業的排程,用來相容於舊版的 SQL Server。請注意,這個參數預設相容於舊版的行為。若要保留未附加至作業的排程,您必須在 @delete_unused_schedule 引數中提供 0 值。

SQL Server Management Studio 提供了一種簡單的圖形方式供您管理各項作業,建議您利用這個方式來建立和管理作業基礎結構。

這個預存程序無法刪除維護計劃,也無法刪除在維護計劃中的作業。請改用 SQL Server Management Studio 來刪除維護計劃。

權限

依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。

系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行 sp_delete_job 來刪除任何作業。本身不是系統管理員 (sysadmin) 固定伺服器角色成員的使用者只能刪除其本身所擁有的作業。

範例

下列範例會刪除 NightlyBackups 作業。

USE msdb ;
GO

EXEC sp_delete_job
    @job_name = N'NightlyBackups' ;
GO

請參閱

參考

sp_add_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_update_job (Transact-SQL)
系統預存程序 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助