在我们的某个软件解决方案中,我们很难找到有时会留下开放交易的错误.我们在许多网站上都有这个应用程序(阅读:70+),我们今年到目前为止在不同地点只看过两次这个问题.
我们遇到的问题是从与SQL Server的持续连接中保持打开的事务.使用dbcc opentran
显示单个事务保持打开状态.在今天的情况下,它是在我们在下午1点实现它之前从上午9:30开放的.使用连接关闭程序将导致事务被关闭/取消,并且迄今为止的所有数据都将丢失.
使用dbcc opentran
它响应打开事务的名称user_transaction
.试图关闭它commit tran user_transaction
会给出错误The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.
.
我可以理解,如果没有先前的连接知识,你几乎不会强制提交事务,但有没有办法这样做?在这种情况下,我们关闭了该计划,我们失去了半天的业务价值数据.
谢谢.
如果交易可能由另一个事件提交,那么它不是交易.如果这是可能的话,它将为解决更多问题打开大门.
请看这个链接:http://ask.sqlservercentral.com/questions/3865/forcing-a-transaction-to-commit.html