合并复制订阅者的错误

时间:2015-03-12 10:47:50

标签: sql-server replication merge-replication

我正在研究SQL SERVER 2012上的合并复制。我有一台中央服务器,在同一台机器上配置了发布和分发。我有另外三台机器,其中SQL SERVER 2012作为订阅者。复制工作正常,但是我在所有订阅者身上遇到以下错误

架构脚本

if exists (select * from syscolumns where name = N'TransporterID' and id = object_id(N'[dbo].[Transporter]')) if object_id(N'[dbo].[Transporter]') is not null exec('ALTER TABLE [dbo].[Transporter] DROP COLUMN TransporterID')' could not be propagated to the subscriber.

由于

1 个答案:

答案 0 :(得分:0)

这似乎是一个失败的架构更改。您可以重新初始化订阅或跳过架构更改。如果不能重新初始化,那么您可以跳过架构更改。

您可以在表sysmergeschemachange中找到要跳过的架构更改。找到架构更改的另一种方法是执行sp_enumeratependingschemachanges

EXEC sp_enumeratependingschemachanges 
    @publication = 'MyPublicationName'

从结果集中获取架构转换,然后通过执行sp_markpendingschemachange跳过架构更改。例如,如果schemaversion是22:

EXEC sp_markpendingschemachange 
    @publication = 'MyPublicationName',
    @schemaversion = 22
    @status = 'skipped'