Se deben considerar (temporalmente) la desactivación de la limitación antes de eliminar por completo.
Si nos fijamos en la creación de la tabla de TSQL verá algo como:
ALTER TABLE [dbo].[dbAccounting] CHECK CONSTRAINT [FK_some_FK_constraint]
Puede ejecutar
ALTER TABLE [dbo].[dbAccounting] NOCHECK CONSTRAINT [FK_some_FK_constraint]
... a continuación, insertar/actualizar un grupo de valores que violan la restricción y vuelva a encenderlo ejecutando la instrucción original CHECK
.
(he tenido que hacer esto para la limpieza de sistemas mal diseñados que he heredado en el pasado.) Será eliminado
Si es nuevo en las bases de datos, su primera reacción al encontrar una violación de clave externa no debe ser pensar "Voy a soltar la clave externa". –
posible duplicado de [¿Cómo puedo soltar una clave externa en SQL Server?] (Http://stackoverflow.com/questions/93264/how-do-i-drop-a-foreign-key-in-sql-server) – Liam