原文:
SQLServer 复制中移除和添加发布而不初始化所有项目
-- 若提前“禁止架构更改”,新增的列不会自动添加大发布,此时应使用 sp_articlecolumn 添加列 EXEC sp_changepublication @publication = N'publication', @property = N'replicate_ddl', @value = 0 --【移除和添加发布而不初始化所有项目,但是添加的项目须初始化】 -- 禁止匿名访问 Exec sp_changepublication 'publication','allow_anonymous',false GO -- 禁止立即更新 Exec sp_changepublication 'publication','immediate_sync',false GO -- 终止单个项目复制(该表在发布可正常操作,订阅应禁止操作) Exec sp_dropsubscription @publication = N'publication', @article = N'article', @subscriber = N'subscriber', @destination_db = N'destination_db' GO -- 从发布中删除项目(界面操作将会重新初始化所以项目) Exec sp_droparticle @publication = N'publication', @article = N'article' GO -- 添加项目到发布中(@schema_option 参考个人要求更改) Exec sp_addarticle @publication = 'publication', @article = N'article', @source_object = N'article', @source_owner = N'dbo',@schema_option = 0x0000000008037CDF GO -- 添加未发布的列(对已发布中的表添加多一列,一般不用) Exec sp_articlecolumn @publication = 'publication' ,@article = N'article',@column = N'column',@operation = N'add' GO -- 进行行筛选(用于筛选发布) Exec sp_articlefilter @publication = N'publication', @article = N'article', @filter_name = N'FLTR_article_1__1', @filter_clause = N'id % 2 = 0' GO -- 进行行筛选(用于筛选发布) Exec sp_articleview @publication = N'publication', @article = N'article', @view_name = N'SYNC_article_1__1', @filter_clause = N'id % 2 = 0' GO -- 刷新订阅以添加项目 Exec sp_refreshsubscriptions 'publication' GO -- 启动快照代理(初始化新增的项目) Exec sp_startpublication_snapshot 'publication' GO