Me encantan las claves externas, pero me encuentro con un problema con ellas. Tengo un programa de conversión en el que estoy deshabilitando las claves externas a las tablas. La razón por la que estoy haciendo esto es para poder reconvertir todos los registros en la tabla principal, pero deje las otras tablas en función de eso intactas sin tener que reconvertirlas cada vez porque son ENORMES.Habilitar clave externa con Verificar datos existentes
estoy usando estos comandos para deshabilitar y volver a habilitar las claves externas:
ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint
ALTER TABLE MyTable restricción CHECK MyConstraint
Sin embargo, después de que re- habilitar la restricción "Comprobar los datos existentes en la creación o la readaptación" aún está establecida en No. Entiendo que está configurado en No porque deshabilité la restricción, pero al hacerlo modifiqué el esquema de la base de datos, lo que no me gusta . Pensé que esto se consideraría volver a habilitar la restricción y verificaría los datos existentes, pero aparentemente no.
¿No hay forma de cambiar esto con el comando ALTER TABLE? Sé que puedo si elimino la restricción y la vuelvo a crear, pero no voy a escribir la secuencia de comandos para recrear todas las claves externas que tengo y mantener eso.
Estoy usando SQL Server 2008 R2.
Gracias, eres un salvavidas. –
Para el registro, porque me costó encontrarlo en otro lugar: "sys.foreign_keys.is_not_trusted" corresponde a "Comprobar los datos existentes en la creación o reactivación" en el cuadro de diálogo "Relaciones de clave externa" de SQL Server Management Studio. – leqid