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

原文地址:https://www.cnblogs.com/lonelyxmas/p/8360707.html

时间: 2024-07-28 18:36:26

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

SqlServer 更改复制代理配置文件参数

由于经常需要同步测试并更改代理配置文件属性,所以总结成脚本,方便测试. 代理配置参数位置: 里面的参数是需要更改的,未显示的参数,则是没有添加到配置文件的.但是取消上面的勾选是可以看到还有那些配置参数. 使用复制代理配置文件参考:https://msdn.microsoft.com/zh-cn/library/ms147893(v=sql.100).aspx 查看复制代理配置文件(MSagent_profiles) select * from msdb.dbo.MSagent_profiles

JS取地址栏参数的两种方法

第一种方法: function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null;} 第二种方法: function getParamValue(

关于js中两种定时器的设置及清除

1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了); window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器

Jmeter 跨线程组传递参数 之两种方法

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子: 1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过) 终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为

springboot 配置文件读取的两种方式,以及使用到的注解解释

了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件的信息. pom文件 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </d

非指针 复制对象和数组的两种方法

JS在复制对象的时候,复制的是指针.有复制关系的两个对象,一个改变时另一个的值也跟着变了.数组也是对象,也存在这种现象. 实现对象的非指针复制的最简单方法: var obj2 = JSON.parse(JSON.stringify(obj1)); 原理就是利用JSON方法,先将对象obj1转成字符串,再解析为对象赋值给obj2.这样obj1和obj2就指向内存中的不同对象了,虽然值一样,但是检测 obj1==obj2 得到 false . 题外话:对象和数组的相等判断,得到的结果不是字面量一不一

JavaWeb获取请求参数的两种方式

第一种:通过获取缓冲流读取参数 public void registerUser(HttpServletRequest request, HttpServletResponse response)throws  Exception  { //直接获取请求参数,通过缓冲流读取数据  BufferedReader br=request.getReader();  String inputLine = "";  String json = "";      while (

【Jquery】jQuery获取URL参数的两种方法

jQuery获取URL参数的关键是获取到URL,然后对URL进行过滤处理,取出参数. location.href是取得URL,location.search是取得URL"?"之后的字符串,也就是说参数部分. 方法一: function request(paras){ var url = location.href; var paraString = url.substring(url.indexOf("?")+1,url.length).split("&a

shell中调用R语言并传入参数的两种方法

第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output cat myscript.Rout 调用R脚本的全部控制台log 传入参数: 在脚本中add args<-commandArgs(TRUE) 然后shell中: Rscript myscript.R arg1 arg2 arg3 注意取出来的参数是所有参数连在一起的character