Du indstiller normalt xact_abort
som en del af hoveddelen af den lagrede procedure:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Der er to "særlige" indstillinger, der huskes fra den session, der skabte proceduren. Forklaring fra MSDN:
Så når du opretter en lagret procedure, kopierer SQL Server indstillingen QUOTED_IDENTIFIER fra forbindelsen til proceduredefinitionen. Målet er, at en anden med en anden QUOTED_IDENTIFIER-indstilling stadig får den adfærd, som forfatteren til proceduren havde til hensigt.
Det samme gælder ikke for XACT_ABORT
.