sp_apply_job_to_targets (Transact-SQL)
将作业应用于一个或多个目标服务器或属于一个或多个目标服务器组的目标服务器。
语法
sp_apply_job_to_targets { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }
[ , [ @target_server_groups = ] 'target_server_groups' ]
[ , [ @target_servers = ] 'target_servers' ]
[ , [ @operation = ] 'operation' ]
参数
[ @job_id =] job_id
要应用于指定目标服务器或目标服务器组的作业的标识号。job_id 的数据类型为 uniqueidentifier,默认值为 NULL。[ @job_name =] 'job_name'
要应用于指定的相关目标服务器或目标服务器组的作业的名称。job_name 的数据类型为 sysname,默认值为 NULL。注意 必须指定 job_id 或 job_name,但不能两个都指定。
[ @target_server_groups =] 'target_server_groups'
以逗号分隔的目标服务器组的列表,指定的作业将应用于这些服务器组。target_server_groups 的数据类型为 nvarchar(2048),默认值为 NULL。[ @target_servers= ] 'target_servers'
以逗号分隔的目标服务器的列表,指定的作业将应用于这些服务器。target_servers的数据类型为 nvarchar(2048),默认值为 NULL。[ @operation= ] 'operation'
确定是将指定的作业应用于指定的目标服务器或目标服务器组,还是将其从指定的目标服务器或目标服务器组中移除。operation的数据类型为 varchar(7),默认值为 APPLY。有效的操作值是 APPLY 和 REMOVE。
返回代码值
0(成功)或 1(失败)
注释
sp_apply_job_to_targets 提供将作业应用于多个目标服务器或将其从多个目标服务器删除的简单方法,从而代替对每个要求的目标服务器调用一次 sp_add_jobserver(或 sp_delete_jobserver)的方法。
权限
只有 sysadmin 固定服务器角色的成员才可以执行这一过程。
示例
以下示例将以前创建的 Backup Customer Information 作业应用于 Servers Maintaining Customer Information 组中的所有目标服务器。
USE msdb ;
GO
EXEC dbo.sp_apply_job_to_targets
@job_name = N'Backup Customer Information',
@target_server_groups = N'Servers Maintaining Customer Information',
@operation = N'APPLY' ;
GO