Репликация SQL SERVER - PullRequest
       28

Репликация SQL SERVER

0 голосов
/ 21 июня 2010

В моем производственном сервере у меня есть репликация, которая работает нормально, у меня есть распределенная база данных, которая имеет 2 подписчика дБ Мои данные реплицируются из Production envi (работает нормально), но пока данные реплицируются в распределенную базу данных на подписчике, который выдает ошибку

Err msg =
Подсистема распространения-репликации-репликации: PRD01-XYZ-VREPL1 \ REPL01-25 не удалось. Нарушение ограничения PRIMARY KEY 'PK_vendors'. Невозможно вставить дубликат ключа в объект 'dbo.tabname'.

1 Ответ

0 голосов
/ 27 июня 2010

Я давно этого не делал, но вот укол.

Во-первых, я не возражаю против просмотра записей, которые не совпадают, поэтому я бы попробовал что-то вроде этого:

--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.:).

Наконец, если логика вашей ситуации предполагает вставку записей втаблица подписчиков, отличная от репликации, и тип репликации не является слиянием, у вас вполне могут продолжаться проблемы, подобные этой.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...