0

私の運用サーバーには、正常に機能するレプリケーションがあります。2 つのサブスクライバー db として分散データベースがあります。私のデータは本番環境からレプリケートされています (正常に動作しています) が、データがサブスクライバーの分散データベースにレプリケートされる間、エラーがスローされます

Err msg =
Replication-Replication Distribution Subsystem: 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 に答える