Scenario:
Je werkt als SQL Server / ETL ontwikkelaar. U moet een heleboel gegevens in tabellen in SQL Server-database laden. Controlebeperkingen worden op verschillende tabellen gemaakt. De kans bestaat dat de gegevens die u gaat laden niet in aanmerking komen volgens Check Constraint. Het bedrijf wil dat u de gegevens toch laadt, zelfs als het niet in aanmerking komt voor Check Constraint. U wilt alle beperkingen in de SQL Server-database tijdelijk uitschakelen en vervolgens de gegevens laden en vervolgens de controlebeperkingen opnieuw inschakelen.
Oplossing:
Het onderstaande script kan worden gebruikt om het script 'Check Constraint uitschakelen' te genereren voor alle Check Constraints die in de database zijn ingeschakeld. U kunt de tabellen in de where-clausule verder filteren als u geen script voor alle tabellen wilt genereren.--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
Scripts genereren om alle controlebeperkingen in SQL Server-database uit te schakelen |
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB] ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Videodemo:scripts genereren om alle controlebeperkingen in SQL Server uit te schakelen