sql >> Base de Datos >  >> RDS >> Sqlserver

¿Realmente necesito usar SET XACT_ABORT ON?

Recuerde que hay errores que TRY-CATCH no capturará con o sin XACT_ABORT .

Sin embargo, SET XACT_ABORT ON no afecta la captura de errores. Sin embargo, garantiza que cualquier transacción se retrotrae / condena. Cuando está "APAGADO", aún tiene la opción de confirmar o revertir (sujeto a xact_state). Este es el principal cambio de comportamiento de SQL 2005 para XACT_ABORT

Lo que también hace es eliminar bloqueos, etc. si el tiempo de espera del comando del cliente se activa y el cliente envía la directiva "abortar". Sin SET XACT_ABORT , los bloqueos pueden permanecer si la conexión permanece abierta. Mi colega (un MVP) y yo probamos esto minuciosamente a principios de año.