Sql Server按照默认配置发布订阅,之后如果要在该发布中添加一张或多张新表时,启动快照代理,会将整个发布全部初始化,如果数据量巨大,可能会灾难性的初始化几个甚至十几个小时,而且无法挽回,因此在做该操作前,一定要更改并确认发布的配置是否会将整个快照初始化。
USE cctest; --进入要添加发布表的数据库
sp_helppublication;
查看列allow_anonymous和immediate_sync是否为0,若为0,则可以直接添加表,若为1,需要修改该参数
use cctest; --进入要添加发布表的数据库
EXEC sp_changepublication
@publication = '要添加表的发布名',
@property = 'allow_anonymous' ,
@value = 'false'
GO
EXEC sp_changepublication
@publication = '要添加表的发布名',
@property = 'immediate_sync' ,
@value = 'false'
GO
之后添加表并在复制监控器的代理中点击该发布的启动代理即可