it-swarm-eu.dev

Primární klíč s volbou „NOT FOR REPLICATION“

Nedávno jsem převzal projekt a zjistil jsem, že ve většině tabulek má primární klíč vlastnost „NOT FOR REPLICATION ".

Nejsem DBA, ale ve většině databází by byl záznam bez primárního klíče považován za poškozený. Primární klíč většiny těchto záznamů by se téměř jistě použil někde jako cizí klíč.

Byla to chyba ze strany předchozího vývojáře (který již pro společnost nepracuje), nebo se jedná o nějakou jinou logiku? V produkčním prostředí ani nepoužíváme replikaci, takže to vlastně neovlivňuje nic vážného, ​​ale přemýšlel jsem, jestli existují nějaké další vedlejší účinky odstranění všech těchto směrnic, o kterých nevím.

Nenalezl jsem mnoho užitečných zásahů pro řadu vyhledávacích dotazů souvisejících s tímto tématem, takže jsem si docela jistý, že se jedná o jen hloupou chybu, kterou musím zvrátit, takže tato otázka je opravdu, aby zmírnila můj paranoia.

22
Steve Rukuts

NOT FOR REPLICATION označuje, že když je záznam replikován do této tabulky, jakákoli hodnota, která je vložena do sloupce identity prostřednictvím agenta replikace, si zachová svou původní hodnotu ze zdrojového systému, ale všechny záznamy přidané lokálně stále zvyšují hodnotu identity.

UPDATE: Old Link broken

Zde je odkaz na dokumenty table_constraint, které podrobně uvádějí, jaké nastavení bude NENÍ PRO REPLIKACI:

Omezení tabulky

26
steoleary