我最近将我的远程分配器升级到 2008r2。在我们向出版物添加文章的那天尝试生成新快照时,我得到了完整的系统锁定(过去我们可以做到这一点,问题很少)。
我已经检查过了sp_Helppublication
,我们正在使用同步方法 3(并发),所以直到最后都不应持有任何锁。
我一直在尝试关注此链接,因为我只添加了一个包含 26 行的附加表,但不想重新初始化并交付整个快照。
http://deepakrangarajan.blogspot.co.uk/2009/01/sql-2005-transaction-replication-adding.html
我试图运行这段代码
EXEC sp_changepublication
@publication = 'statics',
@property = N'immediate_sync',
@value = 'false'
GO
但这也完全锁定了系统。我想我将不得不在半夜运行,但认为您应该能够将其作为对出版物的配置更改来运行。
此外,当我尝试链接中的最后一步将其添加到订阅时
EXEC sp_addsubscription
@publication = 'statics',
@article = 'dbo.SupplierCorporatePayAccountLink_tbl',
@subscriber = 'PEARLJAM',
@destination_db = 'MLT-Replicated',
@reserved='Internal'
我收到以下错误消息
消息 14058,级别 16,状态 1,过程 sp_MSrepl_addsubscription_article,第 331 行无法创建订阅,因为订阅数据库中已存在订阅。每个订阅数据库中只允许对同一发布进行一次订阅。删除订阅并在必要时重新添加。如果问题仍然存在,则复制元数据可能不正确;有关故障排除信息,请参阅联机丛书。
快照后,如何才能将新文章添加到订阅者?
为了让它工作,我计划将“立即同步”关闭到非常低的流量时段
然后我运行了一个快照,它只花费了 6 分钟的一小部分时间。
然后我不得不只删除该文章的当前订阅
并重新运行快照。然后我可以将订阅添加回出版物
但如果没有相当模糊的设置,它就不允许这样做
或者我收到一条错误消息,说我需要订阅所有文章……复制然后自动同步新表。我是一个快乐的人,因为这让我度过了漫长的夜晚!
如果某些清理没有正确完成,有时会发生这种情况。
在订阅者上运行删除订阅过程以进行清理。
对于合并复制的情况,如下所示:
更多信息:
http://technet.microsoft.com/en-us/library/ms184385.aspx
http://technet.microsoft.com/en-us/library/ms176045.aspx
您需要删除现有的出版物。使用以下代码指导您如何删除现有出版物。我希望它有效。