最近在对一个项目数量较大的发布做快照初始化时,遇到一个问题,就是在对发布添加新项目后,创建快照做初始化时,时间非常长,到最后超时失败,观察快照文件夹后,发现每次创建快照时,该发布下的所有项目都被重新初始化,后来在创建发布时有两个关键参数:
@immediate_sync,@allow_anonymous
@allow_anonymous
@allow_anonymous
如果是以增量方式创建的发布,在用脚本向发布中添加项目时,该发布相关的订阅需重新创建,即再次执行sp_addsubscription过程,否则在做快照初始化时会提示“由于没有需要初始化的订阅,因此未生成快照”。如果是以图形界面来勾选项目的话,就没这个问题,可以直接创建快照,估计这个sp_addsubscription步骤是被自动执行。
发布创建后,可以通过 sp_changepublication来变更参数
sp_changepublication
GO
sp_changepublication
GO
最后,如果@allow_anonymous = N'true',分发库中的MSrepl_commands和MSrepl_commands表的事务记录会保留@max_distretention 设定的时长,因为我的发布项目数量很多,所以导致这两个表的记录数相当宠大。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。