【问题标题】:What is the scope of XACT_ABORTXACT_ABORT 的范围是什么
【发布时间】:2013-09-04 15:59:06
【问题描述】:

SQL Server 2005 中 SET XACT_ABORT 语句的范围是什么?即:开始-结束块、过程或触发器、连接、数据库、服务器?

【问题讨论】:

    标签: sql-server sql-server-2005 scope sqltransaction xact-abort


    【解决方案1】:

    Technet Using Options in SQL Server 暗示所有 SET 选项的范围都在连接或批处理级别。

    MSDN SET Statements 添加详细信息:

    如果在存储过程或触发器中运行 SET 语句,则值 SET 选项的控制权从返回后恢复 存储过程或触发器。此外,如果在中指定了 SET 语句 使用 sp_executesql 或 EXECUTE,控制后SET选项的值恢复 从动态 SQL 字符串中指定的批处理返回。

    也可以通过user options为所有用户默认启用XACT_ABORT:

    EXEC sp_configure 'user options', 16384
    RECONFIGURE WITH OVERRIDE
    

    也可以仅通过自定义logon trigger 对选定用户强制执行。

    另请参阅XACT_ABORT behaviour 上的重要详细信息。

    【讨论】:

      猜你喜欢
      • 2011-11-11
      • 2020-10-18
      • 2017-04-22
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多