sp_add_jobserver (Transact-SQL)

適用於:SQL Server

以指定伺服器上的指定作業為目標。

Transact-SQL 語法慣例

語法

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

引數

[ @job_id = ] job_id

作業的標識碼。 job_id為 uniqueidentifier,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @job_name = ] 'job_name'

作業的名稱。 job_name為 sysname,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @server_name = ] N'server'

要以作業為目標的伺服器名稱。 @server_name為 nvarchar(30),預設值為 (LOCAL)@server_name可以是(LOCAL)本地伺服器或現有目標伺服器的名稱。

傳回碼值

0 (成功)或 1 (失敗)。

結果集

無。

備註

@automatic_post存在於 中,但未列在 sp_add_jobserver[自變數] 底下。 @automatic_post保留供內部使用。

SQL Server Management Studio 提供易用的作業管理圖形介面,是建立及管理作業基礎結構的建議方式。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

只有 sysadmin 固定伺服器角色的成員可以針對涉及多部伺服器的作業執行sp_add_jobserver

範例

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

下列範例會指派在本機伺服器上執行的作業 NightlyBackups

注意

此範例假設 NightlyBackups 作業已經存在。

USE msdb;
GO

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

B. 指派作業以在不同的伺服器上執行

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

注意

此範例假設 Weekly Sales Backups 作業已經存在,且 SEATTLE2 已註冊為目前實例的目標伺服器。

USE msdb;
GO

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