Scenario:
Du arbetar som SQL Server/ETL-utvecklare. Du måste ladda en massa data till tabeller i SQL Server Database. Kontrollbegränsningar skapas på olika tabeller. Det finns chanser att data du ska ladda inte kommer att kvalificera sig enligt Check Constraint. Företaget vill att du ska ladda data ändå, även om det inte uppfyller kraven för Check Constraint. Du vill tillfälligt inaktivera alla begränsningar i SQL Server-databasen och sedan ladda data och sedan återaktivera Check Constraints.
Lösning:
Skriptet nedan kan användas för att generera skriptet Disable Check Constraint för alla Check Constraints som är aktiverade i databasen. Du kan ytterligare filtrera tabellerna i where-satsen om du inte vill generera skript för alla tabeller.--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
Hur man genererar skript för att inaktivera alla kontrollbegränsningar i SQL Server-databasen |
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB] ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Videodemo :Hur man genererar skript för att inaktivera alla Check Constraints i SQL Server