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

Cómo deshabilitar todas las restricciones de clave externa en la base de datos de SQL Server - Tutorial de SQL Server / TSQL, parte 77

Escenario:

Está trabajando como desarrollador de SQL Server. Debe proporcionar los scripts para deshabilitar todas las restricciones de clave externa en la base de datos de SQL Server. Este podría ser un escenario en el que necesita cargar datos de una sola vez y está bien si los datos violan la integridad referencial.

Solución:


Obtengamos la lista de restricciones de clave externa de una base de datos de SQL Server antes de generar el script de desactivación.

--Get List of Foreign Key Constraints if Enabled or Disabled
    USE YourDatabaseName
    GO
    Select 
    Schema_name(Schema_id) as SchemaName,
    object_name(Parent_object_id) as TableName,
    name as ForeignKeyConstraintName,
    Case When Is_disabled=1 Then 'No'
    ELSE 'Yes' End as IsEnabled
    from sys.foreign_keys
 
 
 
 
 
 
 
 
Cómo verificar si la restricción de clave externa está habilitada o deshabilitada en SQL Server
 
Ahora vamos a generar una secuencia de comandos para deshabilitar la restricción de clave externa en la base de datos de SQL Server

USE YourdatabaseName
go
-- Drop Foreign Key Constraints Script 
SELECT distinct 'ALTER TABLE ' 
+ '['+ Schema_name(FK.schema_id) 
+ '].['+ OBJECT_NAME(FK.parent_object_id) 
+ ']'+ ' NOCHECK  CONSTRAINT ' 
+ '[' + FK.name + ']' AS DisableConstraintQuery
 FROM   sys.foreign_keys AS FK
 where is_disabled=0
 
 
 
 
Cómo generar una secuencia de comandos para deshabilitar todas las restricciones de clave externa en la base de datos de SQL Server
 

Demostración en video:Cómo deshabilitar todas las restricciones de clave externa en la base de datos de SQL Server