SQL Server: ¿Cómo ignorar la integridad referencial hasta COMMIT?

Tengo un proceso para mover filas de una base de datos a otra. Debido a algunas cadenas de referencia de clave foránea circular, no puedo eliminar las filas de la base de datos anterior, ni puedo insertarlas en la nueva base de datos.

Como toda la operación ocurre en una transacción1, quiero que SQL Server ignore las fallas de integridad referencial hasta que llameCOMMIT TRANSACTION.

Por ejemplo2:

   Table: Turboencabulators         Table: Marselvanes
   =========================        =======================
PK TurboencabulatorID int    /-> PK MarselvaneID       int
^  MarselvanesID      int --/       HasGrammeter       bit
|                                   PantametricFan     varchar(50)
+-------------------------------    TurboencabulatorID int

Si trato de insertar elturboencabulador en la nueva tabla, fallará sin elMarsella Ya estoy ahí. Invertir el pedido tiene el mismo problema.

Al intentar eliminar las filas antiguas, no puedo eliminar una hasta que se elimine la otra.

He intentado hacer unnde fase múltiple, donde todas las filas se insertan con cualquier columna que esté bajo restricción de clave externa establecida ennulo. Luego actualizo todas las filas insertadas, colocando los valores faltantes adecuados. Luego, para eliminar las filas de origen, anulo todas las columnas afectadas por unFK, luego elimine las filas reales.3

Lo que realmente preferiría es hacer mis operaciones T-SQL y hacer que SQL Server no me lo diga hasta que intente llamar a commit.

Notas

1repartido
2hipotético artificial
3que ya no estoy haciendo

Respuestas a la pregunta(2)

Su respuesta a la pregunta