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,