sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo deshabilitar todas las restricciones de verificación en la base de datos de SQL Server - Tutorial de SQL Server / TSQL, parte 87

Escenario:

Estás trabajando como desarrollador de SQL Server/ETL. Debe cargar un montón de datos en las tablas de la base de datos de SQL Server. Las restricciones de verificación se crean en diferentes tablas. Hay posibilidades de que los datos que va a cargar no califiquen de acuerdo con la restricción de verificación. La empresa quiere que cargue los datos de todos modos, incluso si no califica con Verificar restricción. Desea deshabilitar temporalmente todas las restricciones en la base de datos de SQL Server y luego cargar los datos y luego volver a habilitar Verificar restricciones.


Solución:

La siguiente secuencia de comandos se puede utilizar para generar la secuencia de comandos Desactivar restricción de verificación para todas las restricciones de verificación que están habilitadas en la base de datos. Puede filtrar aún más las tablas en la cláusula where si no desea generar un script para todas las tablas.

 --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
 
 
 
 
Cómo generar secuencias de comandos para deshabilitar todas las restricciones de verificación en la base de datos de SQL Server
 Copie los resultados de la columna DisableCheckConstraint y ejecútelos en SSMS para deshabilitar las restricciones de verificación requeridas.
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]

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


Demostración en video:cómo generar secuencias de comandos para deshabilitar todas las restricciones de verificación en SQL Server