MSmerge_conflicts_info (Transact-SQL)

Die MSmerge_conflicts_info-Tabelle verfolgt Konflikte nach, die beim Synchronisieren eines Abonnements für eine Mergeveröffentlichung auftreten. Die verlierenden Zeilendaten für Konflikte werden in der MSmerge_conflict_publication_article-Tabelle für den Artikel gespeichert, in dem der Konflikt aufgetreten ist. Diese Tabelle wird auf dem Verleger in der Veröffentlichungsdatenbank und auf dem Abonnenten in der Abonnementdatenbank gespeichert.

Spaltenname

Datentyp

Beschreibung

tablenick

int

Der Spitzname der veröffentlichten Tabelle.

rowguid

uniqueidentifier

Der Bezeichner für die Konfliktzeile.

origin_datasource

nvarchar(255)

Der Name der Datenbank, aus der die konfliktverursachende Änderung stammt.

conflict_type

int

Der Typ des Konflikts, der aufgetreten ist. Die folgenden Werte sind möglich.

1 = UPDATE-Konflikt: Der Konflikt wurde auf Zeilenebene erkannt.

2 = Konflikt bei UPDATE für Spalten: Der Konflikt wurde auf Spaltenebene erkannt.

3 = UPDATE/DELETE, DELETE gewinnt: Der Löschvorgang gewinnt den Konflikt.

4 = UPDATE gewinnt DELETE-Konflikt: Die gelöschte Zeilen-GUID, die den Konflikt verliert, wird in dieser Tabelle aufgezeichnet.

5 = Fehler beim Hochladen einer INSERT-Anweisung: Der Einfügevorgang des Abonnenten konnte auf dem Verleger nicht angewendet werden.

6 = Fehler beim Herunterladen einer INSERT-Anweisung: Der Einfügevorgang des Verlegers konnte auf dem Abonnenten nicht angewendet werden.

7 = Fehler beim Hochladen einer DELETE-Anweisung: Der Löschvorgang des Abonnenten konnte nicht zum Verleger geuploadet werden.

8 = Fehler beim Herunterladen einer DELETE-Anweisung: Der Löschvorgang des Verlegers konnte nicht zum Abonnenten heruntergeladen werden.

9 = Fehler beim Hochladen einer UPDATE-Anweisung: Der Updatevorgang des Abonnenten konnte auf dem Verleger nicht angewendet werden.

10 = Fehler beim Herunterladen einer UPDATE-Anweisung: Der Updatevorgang des Verlegers konnte auf dem Abonnenten nicht angewendet werden.

11 = Lösung

12 = Logischer Datensatz: UPDATE/DELETE, UPDATE gewinnt: Der gelöschte logische Datensatz, der den Konflikt verliert, wird in dieser Tabelle aufgezeichnet.

13 = Logischer Datensatz: Konflikt INSERT/UPDATE: Ein Einfügevorgang in einen logischen Datensatz steht mit einem Updatevorgang in Konflikt.

14 = Logischer Datensatz: UPDATE/DELETE, DELETE gewinnt: Der aktualisierte logische Datensatz, der den Konflikt verliert, wird in dieser Tabelle aufgezeichnet.

reason_code

int

Der Fehlercode, der kontextbezogen sein kann. Im Fall von UPDATE/UPDATE-Konflikten und UPDATE/DELETE-Konflikten entspricht der für diese Spalte verwendete Wert dem in conflict_type. Bei Konflikten, bei denen Fehler beim Ändern aufgetreten sind, wird als Ursachencode der bei der Änderung im Merge-Agent aufgetretene Fehler verwendet. Kann der Merge-Agent beispielsweise wegen einer Verletzung eines Primärschlüssels eine INSERT-Anweisung nicht auf einen Abonnenten anwenden, werden conflict_type 6 ("Fehler beim Herunterladen einer INSERT-Anweisung") und reason_code 2627 protokolliert, d. h. die interne SQL Server-Fehlermeldung für eine Primärschlüsselverletzung: "Verletzung der %1!-Einschränkung '%2!'. Ein doppelter Schlüssel kann in das %4!-Objekt nicht eingefügt werden."

reason_text

nvarchar(720)

Die Fehlerbeschreibung, die kontextbezogen sein kann.

pubid

uniqueidentifier

Der Bezeichner für die Veröffentlichung.

MSrepl_create_time

datetime

Die Uhrzeit, zu der der Konflikt aufgetreten ist.

origin_datasource_id

uniqueidentifier

Der Bezeichner der Datenbank, aus der die konfliktverursachende Änderung stammt.

Siehe auch

Verweis

Replikationssichten (Transact-SQL)

Konzepte

Replikationstabellen (Transact-SQL)