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)