共用方式為


sp_add_jobserver (Transact-SQL)

將指定作業的目標鎖定在指定的伺服器上。

語法

sp_add_jobserver [ @job_id = ] job_id | [ @job_name = ] 'job_name'
     [ , [ @server_name = ] 'server' ] 

引數

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

    ms178625.note(zh-tw,SQL.90).gif附註:
    您必須指定 job_idjob_name,但不能同時指定這兩者。
  • [ @server_name = ] 'server'
    作業的目標伺服器名稱。servernvarchar(30),預設值是 N'(LOCAL)'。server可以是 (LOCAL),代表本機伺服器,也可以是現有目標伺服器的名稱。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

@automatic_postsp_add_jobserver 中,但並未列在「引數」之下。保留 @automatic_post,供內部使用。

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

權限

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

只有 系統管理員 (sysadmin) 固定伺服器角色的成員能夠針對包含多部伺服器的作業來執行 sp_add_jobserver

範例

A. 將作業指派給本機伺服器

下列範例會指派 NightlyBackups 作業,讓它在本機伺服器中執行。

ms178625.note(zh-tw,SQL.90).gif附註:
這個範例假設 NightlyBackups 作業已在執行中。
USE msdb ;
GO

EXEC dbo.sp_add_jobserver
    @job_name = N'NightlyBackups' ;
GO

B. 指派作業,使它在不同的伺服器中執行

下列範例會將多伺服器作業 Weekly Sales Backups 指派給 SEATTLE2 伺服器。

ms178625.note(zh-tw,SQL.90).gif附註:
這個範例假設 Weekly Sales Backups 作業已存在,且 SEATTLE2 已註冊為目前執行個體的目標伺服器。
USE msdb ;
GO

EXEC dbo.sp_add_jobserver
    @job_name = N'Weekly Sales Backups',
    @server_name = N'SEATTLE2' ;
GO

請參閱

參考

sp_apply_job_to_targets (Transact-SQL)
sp_delete_jobserver (Transact-SQL)
系統預存程序 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助