Desactivar Constraints (Urgente)

13/07/2007 - 14:37 por Tonic | Informe spam
Hola!

Debo hacer un volcado de datos y hay un número bastante alto de tablas
como para tener en cuenta las restriciones por FK. Hay alguna manera
de desactivar los Constraints para una vez terminada la copia masiva
de datos volver a activar?

Muchas gracias!
Tonic
 

Leer las respuestas

#1 Alejandro Mesa
13/07/2007 - 16:28 | Informe spam
Tonic,

Como piensas hacer la copia masiva?

Si usas la sentencia "BULK INSERT", o el comando BCP, o DTS Package -
Transform Data Task, sin la opcion CHECK_CONSTRAINTS, entonces las
restricciones CHECK y FOREIGN KEY no se tomaran en cuenta. Esto puede mejorar
el rendimiento de la carga, pero tambien tiene su lado oscuro y este es que
esas restricciones seran marcadas como "Not Trusted" (ver funcion
OBJECTPROPERTY - CnstIsNotTrusted en los BOL), en español seria "No
Confiable", y creanlo o no, eso puede influir en el plan de ejecucion que
escoje el optimixador de queries.

La forma de evitar el problema seria usar la sentencia "alter table",
despues de la carga masiva, y activar esas restricciones usando la opcion
"WITH CHECK " para que SQL Server valida la restriccion la marque como
confiable.

Can you trust your constraints?
http://sqlblog.com/blogs/hugo_korne...aints.aspx


AMB

"Tonic" wrote:

Hola!

Debo hacer un volcado de datos y hay un número bastante alto de tablas
como para tener en cuenta las restriciones por FK. Hay alguna manera
de desactivar los Constraints para una vez terminada la copia masiva
de datos volver a activar?

Muchas gracias!
Tonic


Preguntas similares