sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan deaktiveres alle tjekbegrænsninger i SQL Server-databasen - SQL Server / TSQL vejledning del 87

Scenarie:

Du arbejder som SQL Server / ETL udvikler. Du skal indlæse en masse data til tabeller i SQL Server-databasen. Check Begrænsninger oprettes på forskellige tabeller. Der er chancer for, at de data, du vil indlæse, ikke kvalificerer sig i henhold til Check Constraint. Virksomheden vil have dig til at indlæse dataene alligevel, selv om det ikke er kvalificeret med Check Constraint. Du vil midlertidigt deaktivere alle begrænsningerne i SQL Server-databasen og derefter indlæse dataene og derefter genaktivere Check Constraints.


Løsning:

Nedenstående script kan bruges til at generere Disable Check Constraint script for alle Check Constraints, som er aktiveret i databasen. Du kan yderligere filtrere tabellerne i where-klausulen, hvis du ikke ønsker at generere script for alle tabellerne.

 --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
 
 
 
 
Sådan genereres scripts for at deaktivere alle kontrolbegrænsninger i SQL Server-databasen
 Kopiér resultaterne fra DisableCheckConstraint-kolonnen og kør i SSMS for at deaktivere påkrævede Check Constraints.
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]

ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]


Videodemo :Sådan genereres scripts for at deaktivere alle Check Constraints i SQL Server

  1. Deltag i en optællingsforespørgsel på gener_series() og hent Null-værdier som '0'

  2. Har T-SQL en aggregeret funktion til at sammenkæde strenge?

  3. Multi Datacenter-opsætning med PostgreSQL

  4. Del forbindelse til postgres db på tværs af processer i Python