Primärschlüssel mit der Option "NOT FOR REPLICATION"

20

Ich habe kürzlich ein Projekt übernommen und festgestellt, dass in den meisten Tabellen der Primärschlüssel die Eigenschaft " NOT FOR REPLICATION" hat.

Ich bin kein DBA, aber in den meisten Datenbanken wird ein Datensatz ohne Primärschlüssel als beschädigt angesehen. Der Primärschlüssel der meisten dieser Datensätze würde höchstwahrscheinlich irgendwo als Fremdschlüssel verwendet.

War dies ein Fehler des vorherigen Entwicklers (der nicht mehr für das Unternehmen arbeitet) oder handelt es sich um eine andere Logik? Wir verwenden die Replikation nicht einmal in der Produktionsumgebung, daher hat dies eigentlich keine gravierenden Auswirkungen, aber ich habe mich gefragt, ob es noch weitere Nebenwirkungen gibt, wenn ich all diese Anweisungen entferne, die mir nicht bewusst sind.

Ich habe nicht viele nützliche Treffer für eine Reihe von Suchbegriffen zu diesem Thema gefunden, daher bin ich mir ziemlich sicher, dass dies nur ein dummer Fehler ist, den ich rückgängig machen muss. Diese Frage ist also wirklich hilfreich, um meine Paranoia zu lindern.

Steve Rukuts
quelle

Antworten:

24

NOT FOR REPLICATION gibt an, dass beim Replizieren eines Datensatzes in diese Tabelle jeder Wert, der über den Replikationsagenten in die Identitätsspalte eingefügt wird, seinen ursprünglichen Wert aus dem Quellsystem beibehält, während alle lokal hinzugefügten Datensätze den Identitätswert weiterhin erhöhen.

UPDATE: Alte Verbindung unterbrochen

Hier ist der Link zu den table_constraint-Dokumenten, der ausführlich beschreibt, welche Einstellung NOT FOR REPLICATION bewirkt:

Tabelleneinschränkung

steolear
quelle
2
Link ist faul
Aleksandr Kravets
@ AleksandrKravets Prost, aktualisiert
steoleary