sql >> Database >  >> RDS >> Sqlserver

Wat is het voordeel van het gebruik van SET XACT_ABORT ON in een opgeslagen procedure?

SET XACT_ABORT ON geeft SQL Server de opdracht om de hele transactie terug te draaien en de batch af te breken wanneer er een runtime-fout optreedt. Het dekt u in gevallen zoals een opdrachttime-out die optreedt op de clienttoepassing in plaats van binnen SQL Server zelf (wat niet wordt gedekt door de standaard XACT_ABORT OFF instelling.)

Aangezien een query-time-out de transactie open laat, SET XACT_ABORT ON wordt aanbevolen in alle opgeslagen procedures met expliciete transacties (tenzij u een specifieke reden hebt om het anders te doen) omdat de gevolgen van een applicatie die werkt aan een verbinding met een open transactie desastreus zijn.

Er is echt een geweldig overzicht op Dan Guzman's Blog,



  1. Geldige modificaties voor SQLite-datum/tijd-functies

  2. Mysql::Error:Opgegeven sleutel was te lang; maximale sleutellengte is 1000 bytes

  3. Verbetering van de oplossing van de bovenste/bovenste dalende mediaan

  4. Hoe schrijf je een functie die tekst- of integerwaarden retourneert?