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