Normalmente imposti xact_abort
come parte del corpo della procedura memorizzata:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Ci sono due impostazioni "speciali" che vengono ricordate dalla sessione che ha creato la procedura. Spiegazione da MSDN:
Pertanto, quando si crea una stored procedure, SQL Server copia l'opzione QUOTED_IDENTIFIER dalla connessione alla definizione della procedura. L'obiettivo è che qualcun altro con un'impostazione QUOTED_IDENTIFIER diversa ottenga comunque il comportamento previsto dall'autore della procedura.
Lo stesso non vale per XACT_ABORT
.