Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Наистина ли трябва да използвам SET XACT_ABORT ON?

Не забравяйте, че има грешки, които TRY-CATCH няма да заснеме със или без XACT_ABORT .

Въпреки това, SET XACT_ABORT ON не засяга улавянето на грешки. Това обаче гарантира, че всяка транзакция е отменена / обречена. Когато е "ИЗКЛЮЧЕНО", тогава все още имате избор между commit или rollback (в зависимост от xact_state). Това е основната промяна в поведението на SQL 2005 за XACT_ABORT

Това, което той също прави, е да премахва заключванията и т.н., ако времето за изчакване на клиентската команда започне и клиентът изпрати директивата "abort". Без SET XACT_ABORT , ключалките могат да останат, ако връзката остане отворена. Моят колега (MVP) и аз тествахме това обстойно в началото на годината.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете последния вмъкнат идентификатор на ред (с SQL израз)

  2. COT() Примери в SQL Server

  3. Групиране по колона и множество редове в един ред множество колони

  4. Създайте тригер „Вместо“ в SQL Server

  5. Избор на процесор за SQL Server 2012