我在我们的应用程序创建的数据库服务器上遇到了一些锁。我不明白的是,一个正在休眠的进程是如何进行开放式交易的(进程71是创建锁的进程)。
据我所知,当进程完成时,它会关闭所有已打开的事务。那是不是很好?
先谢谢你的配偶。
答案 0 :(得分:2)
据我所知,当一个过程 完成它关闭所有打开 交易。是吗?
没有。如果您明确打开了一项交易,则必须明确commit
或rollback
。在此之前,事务仍处于打开状态,因此连接完全可能处于空闲状态(当前未处理任何任务),但仍有未提交的事务。
许多人都希望错误会自动回滚交易,但除非你有
,否则情况并非如此set xact_abort on
答案 1 :(得分:0)
据我所知,当一个过程 完成它关闭所有打开 交易。那是不是很好?
是。但它不能保证,你不应该依赖它。您必须明确关闭连接。