Як правильно усунути помилкові конфлікти злиття реплікації


12

У нас є налаштування реплікації об'єднання SQL Server 2008 R2.

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

Я впевнений, що ці дані вносяться лише одним абонентом.

Я використовував sp_showrowreplicainfoдокладніші відомості про суперечливий рядок, і я отримав 2 ряди: один для видавця та один для підписника, в обох рядках "версія" як 1.

Я також застосував метод Брендона: Аудит змін у реплікації об'єднання , але він показував лише звичайну вставку!

Скажіть, будь ласка, як почати вирішення подібних конфліктів?

Відповіді:


1

Я знайшов ґрунтовну відповідь на ваше запитання тут щодо адміністраторів баз даних від Брендона Вільямса :

Як усунути конфлікт реплікації злиття SQL Server?

Брендон сказав:

Потрібно перевірити переглядач конфліктів і спостерігати за типом конфлікту та значеннями конфліктуючих рядків. Що слід зазначити, що стовпець Conflict Winner відображатиме значення виграшних рядків, які витягуються з базових таблиць. Якщо ви думаєте про це, ці значення є мінливими і можуть змінюватися, тому значення, які ви бачите у стовпці "Переможець конфлікту", можуть бути не тими, якими вони були під час конфлікту, майте це на увазі. У стовпці програвача конфліктів буде відображено значення втрачених рядків, які витягуються з таблиці MSmerge_conflict_publication_article, і ці значення є статичними.

Якщо ви не в змозі визначити першопричину конфліктів на основі перегляду конфліктів, можливо, вам доведеться застосувати схему аудиту. Я наводив приклад того, як це зробити в аудиті змін в репликації злиття .

Є невеликий шанс, що у вас виникають помилкові конфлікти, але аудит повинен виявити, чи так це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.