Freigeben über


MSSQL_ENG002627

Nachrichtendetails

Produktname SQL Server
Ereignis-ID 2627
Ereignisquelle MSSQLSERVER
Komponente SQL Server-Datenbank-Engine
Symbolischer Name Nicht verfügbar
Meldungstext Verstoß gegen %ls Einschränkung '%.*ls'. Doppelte Schlüssel können nicht in objekt '%.*ls' eingefügt werden.

Erklärung

Dies ist ein allgemeiner Fehler, der unabhängig davon ausgelöst werden kann, ob eine Datenbank repliziert wird. In replizierten Datenbanken wird der Fehler in der Regel ausgelöst, da Primärschlüssel in der Topologie nicht ordnungsgemäß verwaltet wurden. In einer verteilten Umgebung muss sichergestellt werden, dass derselbe Wert nicht in eine Primärschlüsselspalte oder eine andere eindeutige Spalte mit mehr als einem Knoten eingefügt wird. Zu den möglichen Ursachen gehören folgende:

  • Einfügungen und Aktualisierungen an einer Zeile erfolgen bei mehr als einem Knoten. Die Zusammenführungsreplikation und aktualisierbare Abonnements für die Transaktionsreplikation bieten beide Konflikterkennung und -lösung, jedoch ist es weiterhin vorzuziehen, eine bestimmte Zeile nur auf einem einzigen Knoten einzufügen oder zu aktualisieren. Peer-to-Peer-Transaktionen bieten keine Konflikterkennung und -lösung; sie setzen voraus, dass Einfügungen und Updates partitioniert werden müssen.

  • An einer Abonnentenausgabe wurde eine Zeile eingefügt, die schreibgeschützt sein sollte. Abonnenten von Snapshotpublikationen sollten als nur-lesend behandelt werden, ebenso wie Abonnenten von Transaktionspublikationen, es sei denn, aktualisierbare Abonnements oder Peer-to-Peer-Transaktionsreplikationen werden verwendet.

  • Eine Tabelle mit einer Identitätsspalte wird verwendet, die Spalte wird jedoch nicht entsprechend verwaltet.

Benutzeraktion

Die erforderliche Aktion hängt vom Grund ab, warum der Fehler ausgelöst wurde:

  • Einfügungen und Aktualisierungen an einer Zeile erfolgen bei mehr als einem Knoten.

    Unabhängig vom verwendeten Replikationstyp wird empfohlen, dass Sie Partitionen nach Möglichkeit einfügen und aktualisieren, da dadurch die für die Konflikterkennung und -lösung erforderliche Verarbeitung reduziert wird. Für die Peer-to-Peer-Transaktionsreplikation sind Partitionierungseinfügungen und -updates erforderlich. Weitere Informationen finden Sie unter Peer-to-Peer-Transaktionsreplikation.

  • An einer Abonnentenausgabe wurde eine Zeile eingefügt, die schreibgeschützt sein sollte.

    Fügen Sie keine Zeilen beim Subscriber ein, es sei denn, Sie verwenden die Merge-Replikation, die Transaktionsreplikation mit aktualisierbaren Abonnements oder die Peer-to-Peer-Transaktionsreplikation.

  • Eine Tabelle mit einer Identitätsspalte wird verwendet, die Spalte wird jedoch nicht entsprechend verwaltet.

    Bei der Zusammenführungsreplikation und der Transaktionsreplikation mit aktualisierbaren Abonnements sollten Identitätsspalten automatisch von der Replikation verwaltet werden. Bei der Peer-to-Peer-Transaktionsreplikation müssen sie manuell verwaltet werden. Weitere Informationen finden Sie unter Replizieren von Identitätsspalten.

Siehe auch

Referenz für Fehler und Ereignisse (Replikation)
Zusammenführungsreplikation
Peer-to-Peer-Transaktionsreplikation
Aktualisierbare Abonnements für Transaktionsreplikation