0

在我的生产服务器中,我的复制工作正常,我确实有分布式数据库,它是 2 个订阅者 db。我的数据是从生产环境复制的(工作正常),但是当数据被复制到订阅服务器中的分布式数据库时,它会引发错误

Err msg =
复制-复制分发子系统:PRD01-XYZ-VREPL1\REPL01-25 失败。违反 PRIMARY KEY 约束“PK_vendors”。无法在对象“dbo.tabname”中插入重复键。

4

1 回答 1

0

我有一段时间没有这样做了,但这是一个刺。

首先,我不介意看到不匹配的记录,所以我会尝试这样的事情:

--to be run on the publisher
select pub.*, sub.*
from 
    db_name1.dbo.tabname pub
    JOIN linked_server_to_subscriber.db_name1.dbo.tabname sub
        ON pub.pk = sub.pk
WHERE
    pub.some_field != sub.some_field

希望对于“some_field”,有另一个独特的列,或者可能是一个 dt_entered,或者可能是一个 rowguid。:)。

最后,如果您的情况的逻辑涉及将记录插入订阅者表而不是通过复制,并且复制的类型不是合并,那么您很可能会继续遇到这样的问题。

祝你好运。

于 2010-06-26T22:46:25.727 回答