加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer 更改复制代理配置文件参数及两种冲突策略设置

发布时间:2020-12-12 12:46:51 所属栏目:MsSql教程 来源:网络整理
导读:由于经常需要同步测试并更改代理配置文件属性,所以总结成脚本,方便测试. 可更新订阅的冲突策略有两种情况:一是在发布中冲突,即订阅数据到发布时冲突;二是在订阅冲突,发布数据到订阅时冲突。 队列读取器设置的是:发布到订阅的冲突策略 代理配置参数位置

由于经常需要同步测试并更改代理配置文件属性,所以总结成脚本,方便测试.


可更新订阅的冲突策略有两种情况:一是在发布中冲突,即订阅数据到发布时冲突;二是在订阅冲突,发布数据到订阅时冲突。


队列读取器设置的是:发布到订阅的冲突策略

代理配置参数位置:



里面的参数是需要更改的,未显示的参数,则是没有添加到配置文件的。但是取消上面的勾选是可以看到还有那些配置参数。


使用复制代理配置文件参考:https://msdn.microsoft.com/zh-cn/library/ms147893(v=sql.100).aspx


查看复制代理配置文件(MSagent_profiles)

select * from msdb.dbo.MSagent_profiles



查看指定代理的配置文件 (在分发服务器任何数据库执行)

exec sp_help_agent_profile @agent_type = 9 --9为队列读取器代理


更改存储在MSagent_profiles表中的配置文件描述 (在分发服务器任何数据库执行)

exec sp_change_agent_profile 
 @profile_id = 11,@property = 'description',@value = '用于已复制的排队事务读取器的代理配置文件。'


增加代理配置文件的参数 (在分发服务器任何数据库执行)

exec sp_add_agent_parameter 
 @profile_id = 11					--配置文件的 ID,@parameter_name = 'ResolverState'	--参数名称,@parameter_value = 2				--参数值(冲突以订阅服务器为准)


更改代理配置文件的参数 (在分发服务器任何数据库执行)

exec sp_change_agent_parameter 
 @profile_id = 11					--配置文件的 ID,@parameter_value = 2				--参数值(冲突以订阅服务器为准)


发布属性设置的是:订阅到发布的冲突策略


--  在发布冲突则以订阅为准(发布数据库执行)
EXEC sp_changepublication 
  @publication = N'publicationName',@property = N'conflict_policy',@value = N'sub wins'


更多参数参考:复制代理? ?sp_changepublication

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读