Du ställer normalt in xact_abort
som en del av huvuddelen av den lagrade proceduren:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Det finns två "speciella" inställningar som kommer ihåg från den session som skapade proceduren. Förklaring från MSDN:
Så när du skapar en lagrad procedur kopierar SQL Server alternativet QUOTED_IDENTIFIER från anslutningen till procedurdefinitionen. Målet är att någon annan med en annan QUOTED_IDENTIFIER-inställning fortfarande får det beteende som författaren till proceduren avsåg.
Detsamma gäller inte för XACT_ABORT
.