SQLServer2005 复制中增量快照的配置

最近在对一个项目数量较大的发布做快照初始化时,遇到一个问题,就是在对发布添加新项目后,创建快照做初始化时,时间非常长,到最后超时失败,观察快照文件夹后,发现每次创建快照时,该发布下的所有项目都被重新初始化,后来在创建发布时有两个关键参数:

@immediate_sync,@allow_anonymous 有关这两上参数的说明在帮助文档中有说明。

@allow_anonymous = N'false' ,@immediate_sync = N'false'  :当发布中添加新项目后,创建初始化快照时,快照将以增量方式创建
@allow_anonymous = N'true' ,@immediate_sync = N'true'   :当发布中添加新项目后,创建初始化快照时,该发布下面所有项目的快照将全部重新初始化

如果是以增量方式创建的发布,在用脚本向发布中添加项目时,该发布相关的订阅需重新创建,即再次执行sp_addsubscription过程,否则在做快照初始化时会提示“由于没有需要初始化的订阅,因此未生成快照”。如果是以图形界面来勾选项目的话,就没这个问题,可以直接创建快照,估计这个sp_addsubscription步骤是被自动执行。

发布创建后,可以通过 sp_changepublication来变更参数

sp_changepublication  @publication = 'test'
     , @property = 'immediate_sync'
      @value =  false
GO
sp_changepublication  @publication = 'test'
     , @property = 'allow_anonymous'
      @value =  false
GO

最后,如果@allow_anonymous = N'true' ,分发库中的MSrepl_commands和MSrepl_commands表的事务记录会保留@max_distretention 设定的时长,因为我的发布项目数量很多,所以导致这两个表的记录数相当宠大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值