Recientemente leí en Fowler's PofEA que algunos motores de base de datos le permiten diferir los controles de IR hasta el final de la transacción. ¿Es esto posible en SQL Server?¿Es posible posponer las comprobaciones de integridad referencial hasta el final de una transacción en SQL Server?
El problema viene con algunos escenarios en los que intento guardar cambios que incluyen inserciones y eliminaciones, puede ser difícil determinar el orden correcto en el que realizar las operaciones para evitar fallas de RI. Sé que al final de la transacción, el RI será bueno, por lo que sería ideal aplazar estos controles.
Se podría hacer que suceda por activar/desactivar las restricciones en el inicio y final de un sproc, pero esa es una ruta tan aterradora que realmente cuestionaría la aplicación o el modelo de datos. –