Deshabilitar constraints (restricciones) en SQL Server

Para modificar la estructura de una base de datos de Microsoft SQL Server, puede ser necesario desactivar temporalmente las constraints que tenga. Por ejemplo, para vaciar los datos de una base de datos, sin tener que pensar el orden correcto para que no salten las restricciones si tenemos ya claro que queremos vaciarla entera.

En SQL Server podemos desactivar las constraint sql de una en una, o bien deshabilitar constraints con una instrucción todas las de una tabla.

Para deshabilitar una única constraint:

ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint

Y para volver a habilitar la constraint:

ALTER TABLE MyTable CHECK CONSTRAINT MyConstraint

Para deshabilitar todas las constraints de una tabla:

ALTER TABLE MyTable NOCHECK CONSTRAINT ALL

Y para volver a habilitar todas las constraints de una tabla:

ALTER TABLE MyTable CHECK CONSTRAINT ALL

Recuerda que si has cambiado datos de la tabla, al volver a habilitar las constraints, estos nuevos datos deben compilar y cumplir con estas restricciones sql, sino dará error y no podrás volver a habilitarla si no lo arreglas.

Deja un comentario

Pin It on Pinterest