sp_add_jobserver (Transact-SQL)
適用於:SQL Server
以指定伺服器上的指定作業為目標。
語法
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 提供易用的作業管理圖形介面,是建立及管理作業基礎結構的建議方式。
權限
您可以授與此 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