Обикновено задавате xact_abort
като част от тялото на съхранената процедура:
CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN
....
Има две "специални" настройки, които се запомнят от сесията, която е създала процедурата. Обяснение от MSDN:
Така че, когато създавате съхранена процедура, SQL Server копира опцията QUOTED_IDENTIFIER от връзката към дефиницията на процедурата. Целта е някой друг с различна настройка на QUOTED_IDENTIFIER все още да получава поведението, което е предвидил авторът на процедурата.
Същото не важи за XACT_ABORT
.