【问题标题】:Replication problem (distribution with subscriber) in SQL SERVER 2008 R2SQL SERVER 2008 R2 中的复制问题(与订阅者一起分发)
【发布时间】:2011-05-26 03:51:29
【问题描述】:

我们在两个 MS SQL Server 2008 R2 之间进行事务复制。

由于硬盘驱动器故障,我们的服务器已重新启动。
复制自动继续工作。但是在我们收到此类错误后的一个小时内:

   The subscription(s) have been marked inactive and must be reinitialized. NoSync subscriptions will need to be dropped and recreated.

日志阅读器代理工作并将交易发送给分发者。 但是分发者无法与订阅者同步。

还允许订阅者向分发者发送更改。所有冲突均由经销商解决。

我们想知道除了重新初始化订阅之外,这是否是使复制工作的另一种方法?

我们发现这个错误可能不是磁盘故障。
我们添加了新的外键:

原来如此:

Publisher  Table1 Table2 Table3
Subscriber Table1 Table2 Table3

Table1Table2 正在复制中。 Table3 - 不是。
我们在每个发布者和订阅者上添加了外键 Table2_Table3

在此之后,我们开始收到错误,正如我们在对@Remus Rusanu 答案的评论中所描述的那样。

【问题讨论】:

    标签: sql-server sql-server-2008-r2 transactional-replication


    【解决方案1】:

    经销商代理报告了什么错误?该错误将在复制监视器的订阅详细信息中可见。也可以在MSrepl_errors自己找错误:

    包含扩展的行 分销代理和合并代理 故障信息。这张表是 存储在分发数据库中。

    【讨论】:

    • 我们在订阅服务器数据库上出现错误,因为指令删除和未复制的表上的外键冲突。我们也没有强制和删除操作。所有删除操作都是初始化复制本身,可能是为了解决冲突。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多