Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server Check/NoCheck-Unterschied in generierten Skripts

Das Endergebnis ist nicht dasselbe!

SQL Server vertraut der Eindeutigkeit des FK nicht, wenn es nicht überprüft wird. Dies bedeutet, dass eine zusätzliche Verarbeitung erforderlich ist, wenn Sie die Spalte in einer Abfrage verwenden.
Kurz gesagt, Sie sollten SQL Server dazu bringen, die Spalte zu überprüfen, damit sie als vertrauenswürdig gilt.

Warum sie sich von verschiedenen Servern unterscheiden, sehen Sie in der isnottrusted-Spalte in sys.foreign_keys nach. Dies kann sich darauf auswirken, was SSMS generiert?

Weitere Informationen dazu finden Sie in meine andere Antwort das bezieht sich auf FK &NO CHECK/ CHECK-Optionen.