Проблема, связанная с репликацией, - PullRequest
1 голос
/ 28 июня 2010

Проблема, связанная с репликацией,

Я объясняю свою архитектуру.

Я создал его трансактинальный процесс репликации

  1. 2 Сценарий Publisher on table vendors, который я привел ниже,
  2. Дистрибьютор
  3. 2 подписчика

Настройка репликации данных выглядит следующим образом:

Таблица VENDORS реплицируется от 2-издателей через 2-подписчиков через распространителя.

Во время репликации в базе данных распространителя выдается ОШИБКА:

Вот, что должно произойти, это

Pub1 (создает поставщиков таблиц пабов) -> вставляет данные (поставщиков) дистрибьютору. -> тянуть по подписчикам

То, что сейчас происходит для меня, это

Pub1 (создает таблицу пабов, выполненную поставщиками) -> Выдает ошибку в базе данных распространителя как

Подсистема распространения репликации-репликации: сбой агента abc-serv1 \ PRD01-star-star Billing-PROD-VREPL1 \ REPL01-25. Нарушение ограничения PRIMARY KEY 'PK_vendors'. Невозможно вставить повторяющийся ключ в объект 'dbo.vendors'.

Ошибка возникает при выполнении операции между издателями и распространителями.

1 Ответ

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

Первичный ключ на издателе должен поддерживаться на подписчике при использовании репликации транзакций.Звучит так, как будто запись с данным значением ключа уже существует на подписчике.

Из вашего описания топологии у вас есть две отдельные публикации.

Итак:

  • Подписчик 1 получает публикацию 1
  • Подписчик 2 получает публикацию 2

Есть ли какой-либо кроссовер, т. Е. Может ли подписчик 2также получает публикацию 1. В таком случае вы столкнетесь с конфликтами первичных ключей, если не будете управлять диапазонами ключей на обоих издателях или использовать альтернативную технологию репликации, такую ​​как репликация слиянием.

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