强制事务从另一个连接提交?

时间:2013-06-19 20:11:53

标签: sql sql-server transactions

我们的软件解决方案之一很难找到有时会留下开放交易的错误。我们在许多网站上都有这个应用程序(阅读: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.错误。

我可以理解,如果没有先前连接的知识,你几乎不会强制提交事务,但有没有办法这样做?在这种情况下,我们关闭了该计划,我们失去了一半的业务价值数据。

感谢。

1 个答案:

答案 0 :(得分:8)

如果交易可能由另一个事件提交,那么它不是交易。如果这是可能的话,它将为解决更多问题打开大门。

请参阅此链接:http://ask.sqlservercentral.com/questions/3865/forcing-a-transaction-to-commit.html

相关问题