Normalmente configuras xact_abort
como parte del cuerpo del procedimiento almacenado:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Hay dos configuraciones "especiales" que se recuerdan de la sesión que creó el procedimiento. Explicación de MSDN:
Entonces, cuando crea un procedimiento almacenado, SQL Server copia la opción QUOTED_IDENTIFIER de la conexión a la definición del procedimiento. El objetivo es que otra persona con una configuración de QUOTED_IDENTIFIER diferente obtenga el comportamiento que pretendía el autor del procedimiento.
No ocurre lo mismo con XACT_ABORT
.