SQL Server 2008 Standard Edition是否支持嵌套事务?

时间:2013-05-30 13:36:40

标签: sql-server-2008

SQL Server 2008 R2支持嵌套事务,但我使用的是SQL Server 2008 Standard Edition。请告诉我它是否支持嵌套事务?

1 个答案:

答案 0 :(得分:4)

没有版本的SQL Server支持嵌套事务。它似乎,但它没有

为什么?

  • ROLLBACK可以回滚所有交易
  • 一些错误“毁灭”事务堆栈
  • SET XACT_ABORT ON执行隐式回滚

因此,即使使用保存点和命名事务,您仍然无法真正嵌套。例如,下面的链接会使用保存点使此模式无效:http://rusanu.com/2009/06/11/exception-handling-and-nested-transactions/。我不想依赖于此,因为您在SQL Server中确实需要SET XACT_ABORT ON

因此我的回答是启用存储过程嵌套:Nested stored procedures containing TRY CATCH ROLLBACK pattern?

这链接到权威的Paul S. Randal:http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-2630-nested-transactions-are-real/