Vous définissez normalement xact_abort
dans le corps de la procédure stockée :
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Deux paramètres "spéciaux" sont mémorisés à partir de la session qui a créé la procédure. Explication de MSDN :
Ainsi, lorsque vous créez une procédure stockée, SQL Server copie l'option QUOTED_IDENTIFIER de la connexion vers la définition de procédure. L'objectif est que quelqu'un d'autre avec un paramètre QUOTED_IDENTIFIER différent obtienne toujours le comportement prévu par l'auteur de la procédure.
Il n'en va pas de même pour XACT_ABORT
.