我们在完成发布订阅后的事务复制功能以后如果主库有新增表怎么办?当然官方早已想到这种情况,把新表发布之后启动代理会初始化快照,这样的方式有一个缺点:会把复制订阅链里的所有表都全重新初始化一次,初始化期间读库的表没有数据。持续时间也可能比较长,如果数据量巨大,可能会灾难性的初始化几个甚至十几个小时,而且无法挽回,因此在做该操作前,一定要更改并确认发布的配置是否会将整个快照初始化。
具体的操作是 右键发布——属性——项目——将右侧的仅显示列表中已选中项目勾选去掉——勾选新表
上一步操作只是把这个表加入了发布的队列中,此时从库中不会出现新表,我们还要重新启动一下复制监视器中的代理。
操作如下:
右键发布启动复制监视器
经过上述操作后将重新进行整个库所有表的同步,由此我们得出结论此种方式不可取。