调用BEGIN TRANS,但不是COMMIT,ROLLBACK或END TRANS时的结果是什么?

sav*_*tha 2 sql-server transactions sql-server-2008

在显式事务中,如果我通过给出BEGIN TRANS来启动事务但是如果我不给COMMIT,ROLLBACK或END TRANS那么应用程序会发生什么?

Haf*_*hor 8

没事 - 交易仍在进行中.如果终止连接,则会回滚.


Nad*_*zie 6

由于您的事务可能会锁定数据库的某些部分,因此在您发出其中一个命令之前,可能会导致其他事务/查询被阻塞.

在某种程度上,无论如何,交易必须完成.当某些内容出现"错误"(例如应用程序结束)时,它将被回滚,除非您先提交它.