sp_add_jobserver (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_name = ] 'job_name'
-
作業的名稱。job_name 的資料類型為 sysname,預設值為 NULL。
| 注意: |
| 必須指定 job_id 或 job_name,但不能兩個都指定。 |
-
[ @server_name = ] 'server'
-
該作業的目標伺服器的名稱。server 的資料類型為 nvarchar(30),預設值為 N'(LOCAL)'。server 可以是本機伺服器 (LOCAL) ,也可以是現有目標伺服器的名稱。
備忘
@automatic_post 存在於 sp_add_jobserver 中,但沒有列在參數中。保留 @automatic_post 用於內部使用。
SQL Server Management Studio 為管理作業提供了一種圖形化的簡便方法,建議使用此方法來建立和管理作業基礎結構。
傳回碼值
0(成功)或 1(失敗)
結果集
無
許可權
預設情況下,只有 sysadmin 固定伺服器角色的成員才可以執行此預存程序。其他使用者必須被授予 msdb 資料庫中下列 SQL Server Agent固定資料庫角色的許可權之一:
- 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