Jak poprawnie rozwiązywać problemy z replikacją scalającą Fałszywe konflikty

12

Mamy konfigurację replikacji scalania programu SQL Server 2008 R2.

Ostatnio zacząłem dostawać konflikty dla niektórych tabel, a kiedy sprawdzam przeglądarkę konfliktów, widzę, że wartości kolumny zwycięzcy i przegranej są identyczne!

Jestem pewien, że dane te wprowadza tylko jeden subskrybent.

Kiedyś sp_showrowreplicainfouzyskiwałem więcej szczegółów na temat sprzecznego wiersza i otrzymałem 2 wiersze: jeden dla wydawcy i jeden dla subskrybenta, przy czym oba wiersze mają „wersję” jako 1.

Zaimplementowałem również metodę Brandona: inspekcja zmian w replikacji scalającej , ale pokazywała tylko normalną wstawkę!

Czy możesz mi powiedzieć, jak rozpocząć rozwiązywanie tego rodzaju konfliktu?

Adel Khayata
źródło

Odpowiedzi:

1

Znalazłem solidną odpowiedź na twoje pytanie tutaj na Administratorzy baz danych autorstwa Brandona Williamsa :

Jak rozwiązywać problemy z konfliktem replikacji scalania replikacji programu SQL Server?

Brandon powiedział:

Musisz przejrzeć Przeglądarkę konfliktów i obserwować typy konfliktów oraz sprzeczne wartości wierszy. Należy zauważyć, że kolumna Zwycięzca konfliktu wyświetla wartości zwycięskiego rzędu, które są pobierane z tabel podstawowych. Jeśli się nad tym zastanowić, wartości te są niestabilne i mogą ulec zmianie, więc wartości widoczne w kolumnie Zwycięzca konfliktu mogą nie być wartościami, które były w momencie wystąpienia konfliktu, należy o tym pamiętać. Kolumna Przegrany konflikt wyświetli wartości utraconych wierszy, które są pobierane z tabeli MSmerge_conflict_publication_article i te wartości są statyczne.

Jeśli nie jesteś w stanie określić pierwotnej przyczyny konfliktów na podstawie Przeglądarki konfliktów, może być konieczne wdrożenie schematu kontroli. Podałem przykład tego, jak to zrobić w Inspekcji zmian w replikacji scalającej .

Istnieje niewielka szansa na uzyskanie fałszywych konfliktów, ale kontrola powinna ujawnić, czy tak jest.

Jim Ziegmann
źródło