conflict_<schema>_<table> (Transact-SQL)

Die conflict_<schema>_<table>-Tabelle enthält Informationen über miteinander in Konflikt stehende Zeilen in der Peer-to-Peer-Replikation. Eine Konflikttabelle besteht für jede replizierte Tabelle in einer Veröffentlichung, wobei der Name der Konflikttabelle mit dem Schema- und Artikelnamen angefügt wird. Diese artikelspezifischen Konflikttabellen sind in jeder Veröffentlichungsdatenbank vorhanden.

Bei der Peer-to-Peer-Replikation schlägt der Verteilungs-Agent standardmäßig fehl, wenn er einen Konflikt erkennt. Im Fehlerprotokoll wird ein Konfliktfehler protokolliert, jedoch werden in der Konflikttabelle keine Konfliktdaten erfasst; daher können sie nicht angezeigt werden. Wenn der Verteilungs-Agent fortfahren kann, wird der Konflikt lokal auf jedem Knoten protokolliert, auf dem er erkannt wurde. Weitere Informationen finden Sie im Abschnitt "Konfliktbehandlung" unter Konflikterkennung bei der Peer-to-Peer-Replikation.

Spaltenname

Datentyp

Beschreibung

__$originator_id

int

ID des Knotens, aus dem die konfliktverursachende Änderung stammt. Um eine Liste mit IDs anzuzeigen, führen Sie sp_help_peerconflictdetection aus.

__$origin_datasource

int

Knoten, aus dem die konfliktverursachende Änderung stammt.

__$tranid

nvarchar (40)

Protokollsequenznummer (LSN) der den Konflikt verursachenden Änderung bei der Anwendung auf __$origin_datasource.

__$conflict_type

int

Typ des Konflikts. Die folgenden Werte sind möglich:

  • 1: Ein Update ist fehlgeschlagen, da die lokale Zeile durch ein anderes Update geändert wurde oder gelöscht und dann erneut eingefügt wurde.

  • 2: Ein Update ist fehlgeschlagen, da die lokale Zeile bereits gelöscht wurde.

  • 3: Ein Löschvorgang ist fehlgeschlagen, da die lokale Zeile durch ein anderes Update geändert wurde oder gelöscht und dann erneut eingefügt wurde.

  • 4: Ein Löschvorgang ist fehlgeschlagen, da die lokale Zeile bereits gelöscht wurde.

  • 5: Ein Einfügevorgang ist fehlgeschlagen, da die lokale Zeile bereits eingefügt wurde oder eingefügt und anschließend aktualisiert wurde.

__$is_winner

bit

Gibt an, ob die Zeile in dieser Tabelle der Konfliktgewinner war. Das bedeutet, dass sie auf den lokalen Knoten angewendet wurde.

__$pre_version

varbinary (32)

Version der Datenbank, aus der die konfliktverursachende Änderung stammt.

__$reason_code

int

Auflösungscode für den Konflikt. Folgende Werte sind möglich:

  • 0

  • 1

  • 2

Weitere Informationen finden Sie unter __$reason_text.

__$reason_text

nvarchar (720)

Auflösung für den Konflikt. Folgende Werte sind möglich:

  • Aufgelöst (1)

  • Nicht aufgelöst (2)

  • Unbekannt (0)

__$update_bitmap

varbinary (32)

Bitmap, die angibt, welche Spalten im Fall eines UPDATE/UPDATE-Konflikts aktualisiert wurden.

__$inserted_date

datetime

Datum und Uhrzeit, zu der die Konfliktzeile in diese Tabelle eingefügt wurde.

__$row_id

timestamp

Zeilenversion, die mit der Zeile verknüpft ist, die den Konflikt verursacht hat.

__$change_id

binary (8)

Für eine lokale Zeile entspricht dieser Wert der __$row_id der eingehenden Zeile, die in Konflikt mit der lokalen Zeile steht. Dieser Wert ist NULL für eine eingehende Zeile.

<Basistabellenspaltennamen>

<Basistabellenspaltentypen>

Die Konflikttabelle enthält eine Spalte für jede Spalte in der Basistabelle.