Desactivar llaves foráneas en SQL Server

 

Este es un aporte de Gerardo Hess. Resulta que en algunos casos es necesario temporalmente desactivar la integridad referencial, realizar un conjunto de operaciones y finalmente re-activarla de nuevo.

Lo cierto del caso es que si no se hace correctamente las referencias foráneas puede ser que no se activen. En la tabla adjunta, se muestran los TSQL utilizados para estos efectos:

alter table dbo.AMBITO NOCHECK constraint ALL --Desactivar

alter table dbo.AMBITO CHECK constraint ALL --Activar

Luego de un análisis exhaustivo, nos dimos cuenta que el comportamiento de activar las referencias no era el adecuado, pues es necesario indicarle al servidor que previo a la activación verifique que los datos respetan la integridad deseada. Por lo tanto, la forma correcta de activar las referencias foráneas es

 

alter table dbo.AMBITO with check check constraint all –Activar

 

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

Comments

Popular posts from this blog

Desempeño de SQL Server 2008 R2 y Max Worker Threads

Cómo identificar consultas más pesadas en SQL Server

SQL Server La longitud de los datos LOB (2200100) que se van a replicar excede el máximo configurado 65536.