Ricorda che ci sono errori che TRY-CATCH non catturerà con o senza XACT_ABORT
.
Tuttavia, SET XACT_ABORT ON
non influisce sulla cattura degli errori. Tuttavia, garantisce che qualsiasi transazione venga annullata / condannata. Quando è "OFF", hai ancora la possibilità di scegliere tra commit o rollback (soggetto a xact_state). Questo è il principale cambiamento di comportamento per SQL 2005 per XACT_ABORT
Quello che fa anche è rimuovere i blocchi ecc. Se il timeout del comando del client si attiva e il client invia la direttiva "abort". Senza SET XACT_ABORT
, i blocchi possono rimanere se la connessione rimane aperta. Io e il mio collega (un MVP) lo abbiamo testato a fondo all'inizio dell'anno.