sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er fordelen ved at bruge SET XACT_ABORT ON i en lagret procedure?

SET XACT_ABORT ON instruerer SQL Server om at rulle hele transaktionen tilbage og afbryde batchen, når der opstår en køretidsfejl. Det dækker dig i tilfælde som en kommando-timeout, der opstår på klientapplikationen snarere end i SQL Server selv (som ikke er dækket af standarden XACT_ABORT OFF indstilling.)

Da en forespørgselstimeout vil lade transaktionen være åben, SET XACT_ABORT ON anbefales i alle lagrede procedurer med eksplicitte transaktioner (medmindre du har en specifik grund til at gøre andet), da konsekvenserne af, at en applikation udfører arbejde på en forbindelse med en åben transaktion, er katastrofale.

Der er et rigtig godt overblik på Dan Guzmans blog,



  1. Installation af webserver i FreeBSD 6.0 med Apache 2.2, MySQL 5.0 og PHP 5 – Del 3

  2. Python, Ruby og Golang:A Web Service Application Comparison

  3. mysql vælg sum gruppe efter dato

  4. Ad-hoc forbindelsesstrenge og heterogene forespørgsler til MS Access