怎样才能有一个挂起待处理事务的SQL连接?

时间:2010-12-01 13:52:27

标签: sql sql-server transactions locking

我在我们的应用程序创建的数据库服务器上遇到了一些锁。我不明白的是,一个正在休眠的进程是如何进行开放式交易的(进程71是创建锁的进程)。

据我所知,当进程完成时,它会关闭所有已打开的事务。那是不是很好?

先谢谢你的配偶。

alt text

2 个答案:

答案 0 :(得分:2)

  

据我所知,当一个过程   完成它关闭所有打开   交易。是吗?

没有。如果您明确打开了一项交易,则必须明确commitrollback。在此之前,事务仍处于打开状态,因此连接完全可能处于空闲状态(当前未处理任何任务),但仍有未提交的事务。

许多人都希望错误会自动回滚交易,但除非你有

,否则情况并非如此
set xact_abort on

答案 1 :(得分:0)

  

据我所知,当一个过程   完成它关闭所有打开   交易。那是不是很好?

是。但它不能保证,你不应该依赖它。您必须明确关闭连接。

相关问题