Как правильно устранить неполадки репликации слиянием ложных конфликтов

12

У нас есть настройка репликации слиянием SQL Server 2008 R2.

В последнее время я начал получать конфликты для некоторых таблиц, и когда я проверяю средство просмотра конфликтов, я вижу, что значения столбца победителя и проигравшего идентичны!

Я уверен, что эти данные вводит только один подписчик.

Раньше я sp_showrowreplicainfoполучал более подробную информацию о конфликтующей строке, и я получил 2 строки: одну для издателя и одну для подписчика, причем обе строки имеют «версию», равную 1.

Я также реализовал метод Брэндона: аудит изменений в репликации слиянием , но он показывал только нормальную вставку!

Подскажите, пожалуйста, как начать устранение подобных конфликтов?

Адель Хаята
источник

Ответы:

1

Я нашел надежный ответ на ваш вопрос здесь, на Администраторы базы данных, Брэндон Уильямс :

Как устранить неполадки в конфликте репликации SQL Server?

Брэндон сказал:

Вам необходимо проверить средство просмотра конфликтов и наблюдать типы конфликтов и конфликтующие значения строк. Стоит отметить, что в столбце «Победитель конфликта» будут отображены значения выигрышных строк, извлеченные из базовых таблиц. Если вы подумаете об этом, эти значения изменчивы и могут изменяться, поэтому значения, которые вы видите в столбце Победитель конфликта, могут не совпадать со значениями, которые были при возникновении конфликта, имейте это в виду. Столбец Conflict Loser отображает значения проигрышных строк, которые извлекаются из таблицы MSmerge_conflict_publication_article, и эти значения являются статическими.

Если вы не можете определить основную причину конфликтов на основе средства просмотра конфликтов, вам может потребоваться реализовать схему аудита. Я привел пример того, как это сделать, в разделе «Аудит изменений в репликации слиянием» .

Существует небольшая вероятность того, что вы получаете ложные конфликты, но аудит должен выявить, так ли это на самом деле.

Джим Зигманн
источник