Dela via


Exempel på konfliktlösning för sammanslagning baserat på prenumerationstyp och tilldelade prioriteringar

Om du vill förstå hur konflikterna löser sig enligt tilldelade prioritetsvärden och om en prenumeration är en server- eller klientprenumeration bör du överväga följande exempel, som beskriver en serie uppdateringar av en rad över flera sammanslagningssynkroniseringar.

Här är de inledande prioritetsvärdena för fyra platser i en grundläggande kopplingsreplikeringstopologi (en utgivare, två prenumeranter med serverprenumerationer och en Prenumerant med en klientprenumeration).

Webbplats Typ Prioritetsvärde
A Utgivare 100.00
B Serverprenumeration 75.00 (tilldelad)
C Serverprenumeration 50.00 (tilldelad)
D Klientprenumeration 0,00 (standard)

Fas 1: Initiala värden

Från början skapar Site A (utgivaren) version ett av raden som innehåller value='Nebraska', som replikeras till webbplatserna B, C och D under nästa sammanslagningssynkronisering. Efter synkroniseringen finns här värdena för raden.

Webbplats Typ Radvärde
A (utgivare) 100.00 Nebraska
B (Serverprenumeration) 75,00 Nebraska
C (serverabonnemang) 50,00 Nebraska
D (klientprenumeration) 0,00 Nebraska

Fas 2: Utgivare och prenumerant med serverabonnemang uppdaterar båda raden.

Webbplats A uppdaterar radvärdet till Texas och plats B uppdaterar radvärdet till New Jersey. När nästa sammanslagningssynkronisering inträffar uppstår en konflikt mellan platserna A och B. Plats A vinner konflikten. Konfliktvinnarens värde från plats A sprids till platserna B, C och D.

Webbplats Prioritetsvärde Radvärde
A (utgivare) 100.00 Texas
B (prenumeration för server) 75,00 Texas
C (Serverprenumeration) 50,00 Texas
D (klientprenumeration) 0,00 Texas

Fas 3: Flera ändringar som gjorts på samma rad

Anta att plats C uppdaterar raden (ändrar den till North Carolina) och synkroniserar med Publisher. Det är inte en konflikt eftersom C redan har sammanfogat den senaste uppdateringen från A (med radvärdet 'Texas' har framgångsrikt sammanfogats). Anta sedan att Site B uppdaterar raden (ändrar den till Idaho).

Webbplats Prioritetsvärde Radvärde
A (utgivare) 100.00 North Carolina
B (Serverprenumeration) 75,00 Idaho
C (Serverprenumeration) 50,00 North Carolina
D (klientprenumeration) 0,00 Texas

När webbplats B synkroniseras med utgivaren uppstår en uppdateringskonflikt. Eftersom både B och C är serverprenumerationer och prioriteten för B är större än C vinner plats B konflikten. När de andra två webbplatserna också har slagits samman sprids värdet av B till de andra prenumeranterna.

Webbplats Prioritetsvärde Radvärde
A (utgivare) 100.00 Idaho
B (serverabonnemang) 75,00 Idaho
C (abonnemang för server) 50,00 Idaho
D (klientprenumeration) 0,00 Idaho

Fas 4: Prenumeranter med server- och klientprenumerationer uppdaterar båda raderna

Anta att site D uppdaterar raden (ändrar den till New Mexico) och synkroniserar med Publisher. Anta sedan att Site B uppdaterar raden (ändrar den till Kalifornien).

Webbplats Prioritetsvärde Radvärde
A (utgivare) 100.00 New Mexico
B (serverabonnemang) 75,00 Kalifornien
C (abonnemang för server) 50,00 Idaho
D (klientprenumeration) 0,00 New Mexico

När webbplats B synkroniseras med utgivaren uppstår en uppdateringskonflikt. Till skillnad från föregående exempel, eftersom D har en klientprenumeration, förutsätter det prioritetsvärdet för Publisher (webbplats A) vid synkronisering. Eftersom prioriteten för A är större än B förlorar B konflikten. värdet som ursprungligen angavs i D vinner. (Om prenumerant B hade synkroniserats med A innan prenumerant D gjorde det, skulle webbplats B ha vunnit konflikten.) Webbplats D som vinner konflikten förlitar sig på att utgivaren inte har gjort en ändring eller tagit emot en annan ändring eftersom den version av raden som uppdaterades på Plats D senast synkroniserades. Om någon Prenumerant med en serverprenumeration eller någon annan prenumerant med en klientprenumeration synkroniseras först, följs regeln med högsta prioritet eller "först in i Publisher vinner".)

De slutliga värdena efter att alla webbplatser har synkroniserats visas här.

Webbplats Prioritetsvärde Radvärde
A (utgivare) 100.00 New Mexico
B (serverabonnemang) 75,00 New Mexico
C (abonnemang för server) 50,00 New Mexico
D (klientprenumeration) 0,00 New Mexico

Synkroniseringsordning och prioritetsvärde avgör resultatet av konflikter vid blandning av server- och klientprenumerationer på samma nivå i topologin. Den senaste uppsättningen uppdateringar visar varför försiktighet måste iakttas. Även om Prenumeranten hade det lägsta prioritetsvärdet av de tre Prenumeranterna vann den konflikten eftersom den synkroniserades med Utgivaren (och därmed antog utgivarens prioritetsvärde på 100,00) först. Om plats C (serverprenumeration med ett prioritetsvärde på 50,00) hade angetts i New Mexico i stället för plats D, skulle plats B (serverprenumeration med ett prioritetsvärde på 75,00) ha vunnit konflikten och resultatet skulle ha blivit Kalifornien.