Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy naprawdę muszę używać SET XACT_ABORT ON?

Pamiętaj, że istnieją błędy, których TRY-CATCH nie przechwyci z lub bez XACT_ABORT .

Jednak SET XACT_ABORT ON nie wpływa na wyłapywanie błędów. Gwarantuje jednak, że każda transakcja zostanie wycofana / stracona. Gdy "OFF", nadal masz wybór zatwierdzenia lub wycofania (z zastrzeżeniem xact_state). To jest główna zmiana zachowania SQL 2005 dla XACT_ABORT

To, co również robi, to usuwanie blokad itp., jeśli nastąpi przekroczenie limitu czasu polecenia klienta, a klient wyśle ​​​​dyrektywę „przerwij”. Bez SET XACT_ABORT , blokady mogą pozostać, jeśli połączenie pozostanie otwarte. Mój kolega (MVP) i ja dokładnie przetestowaliśmy to na początku roku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ogranicz połączenie SQL Server do określonego adresu IP

  2. Wykonywanie zestawu zapytań SQL przy użyciu pliku wsadowego?

  3. Zwracanie procedur i funkcji składowanych w bazie danych programu SQL Server:PROCEDURY (przykłady T-SQL)

  4. Zamiana ciągu znaków rozdzielanych przecinkami na pojedyncze wiersze

  5. EF 6 — Jak poprawnie wykonywać zapytania równoległe