启用由 @job_id 参数标识的复制强制代理程序的远程代理程序激活。该存储过程在当前作为远程代理服务器的计算机上运行。该存储过程在发布服务器的发布数据库上执行。
sp_enableagentoffload [ @job_id = ] job_id
[ , [ @offloadserver = ] 'remote_agent_server_name' ]
[ , [ @agent_type = ] 'agent_type' ]
[@job_id = ] 'job_id'
指定从远程激活启用复制代理程序的 SQL Server 代理程序作业标识符。job_id 的数据类型为 varbinary(16),没有默认设置。
[@offloadserver = ] 'remote_agent_server_name'
指定用于远程代理程序激活的服务器的网络名称。remote_agent_server_name 的数据类型为 sysname,默认设置为 NULL。如果是 NULL,则使用 MSDistribution_agents 表中的当前 offload_server。
[@agent_type = ] 'agent_type'
是代理程序类型。agent_type 的数据类型为 sysname,默认设置为 NULL,用以指定系统将确定代理程序类型是 distribution 还是 merge。有效值为 distribution、merge 或 NULL。
0(成功)或 1(失败)
sp_enableagentoffload 用于在其它服务器上启用分发代理程序或合并代理程序。
成功完成 sp_enableagentoffload 后,Offload offloadserver 参数将被立即附加到复制代理程序命令行,或者如果 Offload offloadserver 参数已经存在于命令行,则用新的 remote_agent_server_name 更新 Offload offloadserver 参数。
同样,MSDistribution_agents 中用于代理程序的 offload_enabled 字段将设置为 1,并将用 'remote_agent_server_name' 中指定的新值(如果有)更新 offload-server 字段。
只有 sysadmin 固定服务器角色成员、db_owner 固定数据库角色成员或指定代理程序的订阅所有者才能执行 sp_enableagentoffload。