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

¿Cómo deshabilitar las restricciones para todas las tablas y habilitarlas?

EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
GO

También puede hacer esto:

EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"
GO

Para habilitarlos después

EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"
GO

-- SQL enable all constraints - enable all constraints sql server
-- sp_MSforeachtable is an undocumented system stored procedure
EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
GO

Editar:
Si deshabilitar las restricciones no es suficiente, deberá eliminarlas.

Si está eliminando y recreando las tablas, tendrá que volver a crear las restricciones de clave externa después.

Si solo necesita eliminar las restricciones, puede encontrar esto útil:
Restricción de clave externa SQL DROP TABLE

Si necesita escribir un script para eliminar y crear las restricciones, puede encontrar mi publicación aquí más útil:
SQL Server:¿Cómo obtener la referencia de clave externa de information_schema?