开发者社区> 杰克.陈> 正文

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

简介: 原文:SqlServer 更改复制代理配置文件参数及两种冲突策略设置 由于经常需要同步测试并更改代理配置文件属性,所以总结成脚本,方便测试. 可更新订阅的冲突策略有两种情况:一是在发布中冲突,即订阅数据到发布时冲突;二是在订阅冲突,发布数据到订阅时冲突。
+关注继续查看
原文:SqlServer 更改复制代理配置文件参数及两种冲突策略设置

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


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


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

代理配置参数位置:



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


使用复制代理配置文件参考: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_name = 'ResolverState'	--参数名称
,@parameter_value = 2				--参数值(冲突以订阅服务器为准)


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


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


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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用SQL Server 2005作业设置定时任务
原文:使用SQL Server 2005作业设置定时任务 公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,项目组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据。
697 0
MySQL查看当前使用的配置文件my.cnf的方法
MySQL查看当前使用的配置文件my.cnf的方法 MySQL实例在启动时,会先读取配置参数文件my.cnf。my.cnf一般会放在MySQL的安装目录中,用户也可以放在其他目录加载。
5654 0
asio socket设置 server地址与端口的两种方式
1. 用解释器的方法, 常用来解析域名, 如 // query("www.163.com","80"), 也可以 query("www.163.com","telnet") // echo          7/tcp// ftp           21/tcp               ...
1287 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.3. 冲突
31.3. 冲突 逻辑复制的行为与普通的DML操作类似,因为即使订阅者节点本地更改了数据, 数据也将被更新。如果传入数据违反任何限制,复制将停止。 这被称为冲突。当复制UPDATE 或者DELETE操作时,丢失的数据不会产生冲突,这样的操作将被忽略。
1198 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载