Szenario:
Sie arbeiten als SQL Server / ETL-Entwickler. Sie müssen eine Reihe von Daten in Tabellen in der SQL Server-Datenbank laden. Check Constraints werden für verschiedene Tabellen erstellt. Es besteht die Möglichkeit, dass die Daten, die Sie laden möchten, nicht gemäß Check Constraint qualifiziert sind. Das Unternehmen möchte, dass Sie die Daten trotzdem laden, auch wenn sie sich nicht mit Check Constraint qualifizieren. Sie möchten alle Einschränkungen in der SQL Server-Datenbank vorübergehend deaktivieren und dann die Daten laden und dann die Check Constraints wieder aktivieren.
Lösung:
Das folgende Skript kann verwendet werden, um ein Skript zum Deaktivieren von Check Constraints für alle Check Constraints zu generieren, die in der Datenbank aktiviert sind. Sie können die Tabellen in der where-Klausel weiter filtern, wenn Sie kein Skript für alle Tabellen generieren möchten.--Generate Script to Disable All Check Constraint in SQL Server Database Select DB_Name() AS DBName, Schema_Name(Schema_id) AS TableSchema, Object_name(parent_object_id) as TableName, definition, 'Alter Table [' + Schema_Name(Schema_id) + '].[' + Object_name(parent_object_id) + ']' + ' NOCHECK CONSTRAINT ' + '[' + NAME + ']' AS DisableCheckConstraint From sys.check_constraints where is_disabled=0
Generieren von Skripts zum Deaktivieren aller Check Constraints in der SQL Server-Datenbank |
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB] ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Video-Demo:So generieren Sie Skripts zum Deaktivieren aller Check Constraints in SQL Server