sql >> Databáze >  >> RDS >> Sqlserver

Opravdu musím použít SET XACT_ABORT ON?

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.



  1. Vyberte náhodný řádek pro každou skupinu

  2. Chyba PHP s MySQL 8.0+:Server požadoval metodu ověřování neznámou klientovi

  3. Nastavení atributů připojení ODBC bez nutnosti psát kód

  4. Jak mohu zabránit vkládání SQL v PHP?