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

Jaka jest korzyść z używania SET XACT_ABORT ON w procedurze składowanej?

SET XACT_ABORT ON instruuje SQL Server, aby wycofał całą transakcję i przerwał partię, gdy wystąpi błąd w czasie wykonywania. Obejmuje to przypadki, takie jak przekroczenie limitu czasu polecenia występujące w aplikacji klienckiej, a nie w samym SQL Server (co nie jest objęte domyślnym XACT_ABORT OFF ustawienie.)

Ponieważ przekroczenie limitu czasu zapytania pozostawi otwartą transakcję, SET XACT_ABORT ON jest zalecany we wszystkich procedurach składowanych z jawnymi transakcjami (chyba że masz konkretny powód, aby zrobić inaczej), ponieważ konsekwencje pracy aplikacji na połączeniu z otwartą transakcją są katastrofalne.

Na blogu Dana Guzmana jest naprawdę świetny przegląd,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest ograniczenie klucza podstawowego w bazie danych programu SQL Server — samouczek SQL Server / T-SQL, część 54

  2. Jak upuścić kolumnę z ograniczeniem?

  3. Wstawiam tylko wiersz, jeśli jeszcze go tam nie ma

  4. Wiele wierszy do jednej wartości oddzielonej przecinkami w Sql Server

  5. Wprowadzenie do OPENJSON z przykładami (SQL Server)