Gui*_*rez 13 sql-server scope sql-server-2005 sqltransaction xact-abort
SQL Server 2005中SET XACT_ABORT语句的范围是什么?即:开始 - 结束块,过程或触发器,连接,数据库,服务器?
Technet 在SQL Server中使用选项提示所有SET选项都在连接或批处理级别作用域.
MSDN SET语句添加了详细信息:
如果在存储过程或触发器中运行SET语句,则在从存储过程或触发器返回控制之后,将恢复SET选项的值.此外,如果在使用sp_executesql或EXECUTE运行的动态SQL字符串中指定了SET语句,则在从动态SQL字符串中指定的批处理返回控制后,将恢复SET选项的值.
默认情况下,还可以通过用户选项为所有用户启用XACT_ABORT :
EXEC sp_configure 'user options', 16384
RECONFIGURE WITH OVERRIDE
Run Code Online (Sandbox Code Playgroud)
它也可以仅通过自定义登录触发器对所选用户强制执行.
另请参阅有关XACT_ABORT行为的重要详细信息.