Pamatujte, že existují chyby, které TRY-CATCH nezachytí s nebo bez XACT_ABORT
.
Nicméně SET XACT_ABORT ON
nemá vliv na zachycení chyb. Zaručuje však, že jakákoli transakce bude vrácena zpět / odsouzena k zániku. Když je "OFF", stále máte na výběr potvrzení nebo vrácení zpět (v závislosti na xact_state). Toto je hlavní změna chování pro SQL 2005 pro XACT_ABORT
Co také dělá, je odstranění zámků atd., pokud vyprší časový limit příkazu klienta a klient odešle direktivu "abort". Bez SET XACT_ABORT
, zámky mohou zůstat, pokud spojení zůstane otevřené. Můj kolega (MVP) a já jsme to důkladně otestovali na začátku roku.