什么是SQL Server隐式事务?

时间:2011-02-24 12:33:23

标签: sql-server transactions types

什么是隐含交易?什么是范围?哪个命令包含此事务组?

3 个答案:

答案 0 :(得分:1)

根据Implicit Transactions的文档:

  • 您必须专门为连接启用它
  • 启用时,每次COMMIT或ROLLBACK事务时,都会在需要它的下一个命令时启动一个新事务(文档中有一个列表)

这意味着:

  • 启用后,您必须始终执行COMMIT或ROLLBACK

您的问题也可能是询问隐式和显式交易之间的区别。

Microsoft SQL Server始终在事务中运行修改(简化,有些东西在没有批量插入的情况下运行)。换句话说,如果您没有专门打开事务,则以下是每次修改的运行方式:

try
    ... modification here (update, insert, delete...)
on exception
    rollback
on success
    commit

答案 1 :(得分:1)

您运行的任何命令都是隐式事务的一部分,sql server启动一个隐式事务以使DB处于ACID状态,这样它就可以在出现错误时回滚

明确的转换是以BEGIN TRANSACTION

开头的转换

答案 2 :(得分:0)