Normalerweise setzen Sie xact_abort
als Teil des Hauptteils der gespeicherten Prozedur:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Es gibt zwei „besondere“ Einstellungen, die von der Sitzung gespeichert werden, die die Prozedur erstellt hat. Erklärung von MSDN:
Wenn Sie also eine gespeicherte Prozedur erstellen, kopiert SQL Server die Option QUOTED_IDENTIFIER aus der Verbindung in die Prozedurdefinition. Das Ziel ist, dass jemand anderes mit einer anderen QUOTED_IDENTIFIER-Einstellung immer noch das Verhalten erhält, das der Autor der Prozedur beabsichtigt hat.
Dasselbe gilt nicht für XACT_ABORT
.