【发布时间】:2011-04-11 15:43:06
【问题描述】:
这是我在生产服务器上遇到的一个奇怪问题。过去两周发生了两次,这是一个流量很大的服务器。
我们在 Web 服务中有一些代码执行 BEGIN TRAN,然后运行一些 SQL 查询(两个插入,然后是一个更新)。然后最后执行COMMIT。现在我们已经两次在日志中收到消息:
COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
在前两次插入和更新之间,我们调用了另一个 Web 服务,因此在前两次插入和调用 COMMIT 之前的最后一次更新之间可能会有一点延迟。这会导致我们的问题吗?我们在 IIS 7 和 Server 2008 R2 上运行此程序(已应用所有更新)。
最初我们虽然可能是应用程序池被回收,但将其更改为在半夜回收。现在我不确定是什么导致 SQL 服务器忘记调用BEGIN TRAN。
这个网络服务确实被调用了很多次。有没有人见过这样的东西?我现在完全不知所措……
非常感谢任何帮助或建议!
【问题讨论】:
-
还有一个与此相关的错误-support.microsoft.com/kb/810100/en-us
标签: sql-server tsql transactions