【发布时间】:2012-08-01 16:30:30
【问题描述】:
我有一个以 .NET 4.0 数据库为中心的应用程序(厚客户端,WinForms)运行在数百个环境中(每个环境都由我们维护客户的 IT 人员)。 该应用程序是对我公司使用多年的旧 FoxPro 产品的重写。
该应用程序似乎对我们的所有客户都运行良好,但有一个客户出现间歇性异常,如下所示:
System.Data.SqlClient.SqlException (0x80131904):超时。在操作完成之前超时时间已过或服务器没有响应。
请求运行失败,因为批处理被中止,这可能是客户端发送的中止信号引起的,或者同一会话中正在运行另一个请求,导致会话繁忙。
我可以在网上找到的所有关于此的信息(例如here 和here)都说此问题是 SQL Server 2005 的错误,已在 SP1 中解决。但是,此客户使用的是 SQL Server 2008 R2 Express(这已由我们公司验证;我们不只是相信客户的话)。此外,我们没有使用连接池或分布式事务,因此我发现的链接似乎更不相关。
同样,这些问题是间歇性的(每天几次),并且发生在所有不同的工作站上(似乎表明这不是单个客户端的问题)。旧版 FoxPro 应用程序仍然存在于他们的环境中并且工作正常(针对完全相同的数据库),这似乎表明它不仅仅是网络或数据库服务器问题。
任何帮助将不胜感激。
【问题讨论】:
-
死锁? SQL Server Profiler 可能有助于确定。
-
也许,但是为什么会出现糟糕的异常消息呢?为什么没有其他客户报告相同?
-
您是在询问为您带来
ERROR_SUCCESS的人提供的诊断信息的质量?您可能会发现一些有关超时的故障排除提示here。不确定“批次已中止”部分。
标签: .net sql-server exception