sql >> Databasteknik >  >> RDS >> Sqlserver

Behöver jag verkligen använda SET XACT_ABORT ON?

Kom ihåg att det finns fel som TRY-CATCH inte kommer att fånga med eller utan XACT_ABORT .

Men SET XACT_ABORT ON påverkar inte fångst av fel. Det garanterar dock att alla transaktioner rullas tillbaka / dömda. När "AV" har du fortfarande valet mellan commit eller rollback (med förbehåll för xact_state). Detta är den huvudsakliga beteendeförändringen för SQL 2005 för XACT_ABORT

Vad den också gör är att ta bort lås etc om klientkommandot timeout slår in och klienten skickar "avbryt"-direktivet. Utan SET XACT_ABORT , lås kan finnas kvar om anslutningen förblir öppen. Min kollega (en MVP) och jag testade detta noggrant i början av året.



  1. Big Data med PostgreSQL och Apache Spark

  2. Migrera befintlig auth.User-data till den nya anpassade användarmodellen för Django 1.5?

  3. Betyder utvecklande kontaktinformation att du ändrar din databas?

  4. Logga frågetid i SQLite på Android