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
