出版的immediate_sync属性

  

,,,,

出版的属性immediate_sync控制快照文件的创建,如果属性immediate_sync设置为真,那么快照文件在快照代理每次运行的时候都会创建。如果设置为false,快照文件只在订阅创建时才会创建。

在创建快照文件之后,如果对文章进行更新,会产生未决事务,这些事务会被写入到分布数据库中。

如果immediate_sync设置为真,那么复制会保持未决事务,不会因为事务被replcated而删除,优点是快照文件和未决事务能被多个订阅重用,缺点是会导致分布数据库增长.pending事务的最大限度的保留时间是由出版的保留属性确定的,默认值是336小时,即14天。

如果immediate_sync属性设置为假,那么在将未决事务推送到订阅之后,复制将未决事务和快照文件删除。

引用《SQL Server“分布清理:”工作没有大MSRepl_commands》:

——, Check 用阅读if “immediate 同步”,is  set 用1.,,,却;能够will  cause  transactions 用be  held 拷贝MSRepl_commands ——, rather  than  deleted  when 分布式只EXEC  sp_changepublication 
  ,,,@publication =,,,, put  your  publication  name  here 
  ,,,@property =,‘immediate_sync’,,
  ,,,@value =,“假”

分布规模增长,会导致配送延迟,推荐将immediate_sync属性设置为假的。在每次新建用户数据库时,使用新的快照。

如果要将出版的,<强> immediate_sync ,设置为假,前提条件allow_anonymous必须是假的。

 EXEC  sys.sp_changepublication 
  ,,,@publication =,,,, put  your  publication  name  here 
  ,,,@property =,‘allow_anonymous’,,
  ,,,@value =,“假”

,

使用以下脚本批量更新出版

 select 
  ,,,的名字,
  ,,,immediate_sync,
  ,,,allow_anonymous,
  ,,,N 'exec  sys.sp_changepublication , @publication =,,“+名字+”,
  ,,,,,@property =,,“immediate_sync”,
  ,,,,,@value =,,“假”,as  Alter_immediate_sync,,,,, case 
  ,,,,,,,when  allow_anonymous=1, then 
  ,,,,,,,,,,,N 'exec  sys.sp_changepublication , @publication =,,“+名字+”,
  ,,,,,,,,,,,,,@property =,,“allow_anonymous”,
  ,,,,,,,,,,,,,@value =,,“假”,
  ,,,,,,,else “,
  ,,,最终获得as  alter_allow_anonymousfrom  dbo.syspublicationswhere  immediate_sync=1 

,

附录:

一、sp_addpublication重要参数
,,,,,

,,,,,,,,,,,

immediate_sync意味着什么在事务性复制

,通过保持几小时或几天的快照和事务,新用户1)可以使用旧的快照文件,和2)适用所有未决快照又是以后的更改;新用户(或reinit)不需要有一个“新鲜”快照生成。

<强>

<强>


出版的immediate_sync属性