SQL Server 2005中SET XACT_ABORT语句的范围是什么? ie:begin-end块,过程或触发器,连接,数据库,服务器?
答案 0 :(得分:7)
Technet Using Options in SQL Server暗示所有SET选项的范围都是连接或批处理级别。
MSDN SET Statements添加了详细信息:
如果在存储过程或触发器中运行SET语句,则为该值 从中返回控件后,将恢复SET选项 存储过程或触发器。此外,如果指定了SET语句 使用sp_executesql或运行的动态SQL字符串 EXECUTE,控制后恢复SET选项的值 从动态SQL字符串中指定的批处理返回。
默认情况下,还可以通过user options为所有用户启用XACT_ABORT:
EXEC sp_configure 'user options', 16384
RECONFIGURE WITH OVERRIDE
也可以仅通过自定义logon trigger对所选用户强制执行。
另请参阅XACT_ABORT behaviour的重要细节。
答案 1 :(得分:-4)
我认为,BOL的这篇文章回答了你的问题:SET (Transact-SQL)