Onthoud dat er fouten zijn die TRY-CATCH niet kan vastleggen met of zonder XACT_ABORT
.
Echter, SET XACT_ABORT ON
heeft geen invloed op het opvangen van fouten. Het garandeert echter wel dat elke transactie wordt teruggedraaid / gedoemd. Indien "UIT", dan heb je nog steeds de keuze tussen commit of rollback (onder voorbehoud van xact_state). Dit is de belangrijkste gedragsverandering voor SQL 2005 voor XACT_ABORT
Wat het ook doet, is het verwijderen van vergrendelingen enz. als de time-out van het clientcommando begint en de client de instructie "abort" verzendt. Zonder SET XACT_ABORT
, sloten kunnen blijven staan als de verbinding open blijft. Mijn collega (een MVP) en ik hebben dit begin dit jaar uitgebreid getest.