2014-10-28 3 views
0

У меня есть серия строк, созданных у подписчика, которые не реплицируются в Publisher. Зритель конфликт показывает тип Конфликт 5(Upload insert failed) с этой ошибкой:Resolve Upload Insert Failed конфликт слиянием

A row insert at '{subscriber}' could not be propagated to '{Publisher}'. This failure can be caused by a constraint violation. The merge process was unable to synchronize the row.

Если я нажимаю «Отправить Loser», чтобы разрешить его, я получаю эту ошибку:

The insert failed. It conflicted with an identity range check constraint in database '{Database}', replicated table '{Table}', column '{Column}'. If the identity column is automatically managed by replication, update the range as follows: for the Publisher, execute sp_adjustpublisheridentityrange; for the Subscriber, run the Distribution Agent or the Merge Agent. The statement has been terminated. (Microsoft SQL Server, Error: 548)

Я запускать sp_adjustpublisheridentityrange и любой новый создаваемые строки реплицируются успешно, но эти все еще не будут реплицироваться. Важно сохранить идентификаторы строк, которые были созданы на подписчике, поэтому я не могу удалить и повторно вставить строку. Как я могу разрешить эти конфликты?

+0

Трудно сказать всплывающее сообщение, что вызвало это. Для одного из рассматриваемых конфликтов попробуйте временно отключить ограничение проверки диапазона идентификации, а затем попробуйте отправить проигравшего. –

ответ

0

Эта проблема на самом деле не вызвана столбцом идентификации таблицы A, это был столбец внешнего ключа. Строка в таблице B, чтобы строки в таблице A FK'd также не реплицировались. Я еще не знаю, почему эти строки не повторялись.

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