Szenario:
Sie arbeiten als SQL Server-Entwickler. Sie müssen die Skripts bereitstellen, um alle Foreign Key Constraints in der SQL Server-Datenbank zu deaktivieren. Dies könnte ein Szenario sein, in dem Sie einmalige Daten laden müssen und Sie sind in Ordnung, wenn Daten die referenzielle Integrität verletzen.Lösung:
Lassen Sie uns die Liste der Fremdschlüsseleinschränkungen von einer SQL Server-Datenbank abrufen, bevor wir das Deaktivierungsskript generieren.
--Get List of Foreign Key Constraints if Enabled or Disabled USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) as TableName, name as ForeignKeyConstraintName, Case When Is_disabled=1 Then 'No' ELSE 'Yes' End as IsEnabled from sys.foreign_keys
So überprüfen Sie, ob die Fremdschlüsselbeschränkung in SQL Server aktiviert oder deaktiviert ist |
Generieren wir nun ein Skript zum Deaktivieren von Foreign Key Constraints in der SQL Server-Datenbank
USE YourdatabaseName go -- Drop Foreign Key Constraints Script SELECT distinct 'ALTER TABLE ' + '['+ Schema_name(FK.schema_id) + '].['+ OBJECT_NAME(FK.parent_object_id) + ']'+ ' NOCHECK CONSTRAINT ' + '[' + FK.name + ']' AS DisableConstraintQuery FROM sys.foreign_keys AS FK where is_disabled=0
Wie man ein Skript generiert, um alle Fremdschlüsseleinschränkungen in der SQL Server-Datenbank zu deaktivieren |
Video-Demo:So deaktivieren Sie alle Foreign Key Constraints in der SQL Server-Datenbank