SQLServer 复制中移除和添加发布而不初始化所有项目

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer 复制中移除和添加发布而不初始化所有项目相关的知识,希望对你有一定的参考价值。

原文: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 


以上是关于SQLServer 复制中移除和添加发布而不初始化所有项目的主要内容,如果未能解决你的问题,请参考以下文章

如何从一侧移除高程阴影而不从卡片或材质小部件中移除高程本身?

移除和追加 DOM 元素

23 Maven工程module的移除和重新导入

从二维平衡 KD-Tree 中移除元素

从 Apple Watch 上的 HealthKit 中移除水样

从 Apple Watch 上的 HealthKit 中移除水样