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

Cómo generar un script para habilitar todas las restricciones de clave externa en la base de datos de SQL Server - Tutorial de SQL Server/TSQL, parte 78

Escenario:

Está trabajando como desarrollador de SQL Server. Debe preparar scripts para habilitar todas las restricciones de clave externa en una base de datos que están deshabilitadas. Esto podría suceder, tal vez alguien haya deshabilitado las Restricciones de clave externa para una carga de datos en la que no les importa la violación de la integridad referencial y se olvidó de habilitarlas más tarde.


Solución:

En primer lugar, obtengamos la lista de restricciones de clave externa con estado utilizando la siguiente consulta

--Obtener lista de restricciones de clave externa si está habilitada o deshabilitada USE YourDatabaseName GO Seleccione Schema_name (Schema_id) como 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á deshabilitada o habilitada en la base de datos de SQL Server
 Ahora vamos a generar secuencias de comandos para habilitar las restricciones de clave externa que están deshabilitadas en la base de datos de SQL Server utilizando la siguiente consulta. ['+ Schema_name(FK.schema_id) + '].['+ OBJECT_NAME(FK.parent_object_id) + ']'+ ' CHECK CONSTRAINT ' + '[' + FK.name + ']' AS EnableConstraintQuery FROM sys.foreign_keys AS FK donde is_disabled=1 
 
 
 
 
Cómo generar un script para habilitar todas las restricciones de clave externa en la base de datos de SQL Server
 
 Copie los resultados y ejecútelos en SSMS para habilitar las restricciones de clave externa deshabilitadas en la base de datos de SQL Server.

Demostración en video:cómo generar un script para habilitar todas las restricciones de clave externa en SQL Server