SQL Server事务复制:如果我们从发布中删除文章,我们是否需要删除并重新创建订阅

时间:2014-08-13 03:49:47

标签: sql-server replication transactional-replication

我正在使用SQL Server 2012企业版。我在两台服务器之间建立了一个SQL事务复制 现在我想从该出版物中删除一些文章 文章被删除后,我不确定是否有一些特殊的考虑/行动。

来自MSDN它说:

  

对于快照或事务发布,可以在创建订阅之前删除文章而无需特殊注意事项。 如果在创建一个或多个订阅后删除文章,则必须删除,重新创建和同步订阅

但是,从我的测试开始,在删除文章并重新创建快照之后,订阅可以成功地同步发布中的数据而无需任何特殊操作。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

我使用以下脚本,我通常不需要运行完整的快照,或者当我运行它时,它说订阅者没问题,也不需要快照。

 --(1)
use [MYDATABASE]
exec sp_dropsubscription @publication = N'MYPUBLICATION', @article = N'MYTABLE', @subscriber = N'all', @destination_db = N'all'
GO

-- (2)
use [MYDATABASE]
exec sp_droparticle @publication = N'MYPUBLICATION', @article = N'MYTABLE', @force_invalidate_snapshot = 1
GO

答案 1 :(得分:0)

删除文章后,您只需重新初始化订阅,方法是重新创建快照,以便重新同步。

请参阅下面的步骤。

http://blog.extreme-advice.com/2012/11/28/delete-article-from-transactional-replication-in-sql-server-2012/