sql >> Database >  >> RDS >> Sqlserver

Moet ik echt SET XACT_ABORT ON gebruiken?

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.



  1. Toegang geweigerd voor gebruiker 'root'@'localhost' met PHPMyAdmin

  2. Verbind de iPhone-app met PostgreSQL met behulp van Libpq

  3. Wat is het MySQL-equivalent van STUFF() in SQL Server?

  4. 5 geweldige bronnen om u te helpen uw databasebewakingsrol te verbeteren