Pen*_*ren 5 .net sql-server exception
我有一个针对SQL Server运行的.NET 4.0以数据库为中心的应用程序(胖客户端,WinForms)(主要是通过Linq转换为Sql,其中包含一些普通的ADO.NET),它部署在数百个环境中(每个环境都由客户的IT维护)员工).该应用程序是对我公司遗留FoxPro产品的重写,该产品已使用多年.
该应用程序似乎对我们所有的客户都运行良好,除了一个,这是有间歇性的例外,如下所示:
System.Data.SqlClient.SqlException(0x80131904):超时已过期.操作完成之前经过的超时时间或服务器没有响应.
请求无法运行,因为批处理已中止,这可能是由客户端发出的中止信号引起的,或者是另一个请求在同一会话中运行,这会使会话忙.
我在网上可以找到关于此的所有内容(例如此处和此处)说这个问题是在SP1中解决的SQL Server 2005错误.但是,这个客户正在使用SQL Server 2008 R2 Express(这已经过我们公司的验证;我们不仅仅是接受客户的话).此外,我们没有使用连接池或分布式事务,因此我发现的链接似乎更不相关.
同样,问题是间歇性的(每天几次),并且发生在他们所有的各种工作站上(似乎表明它不是单个客户端的问题).传统的FoxPro应用程序仍然存在于其环境中并且工作正常(针对完全相同的数据库),这似乎表明它不仅仅是网络或数据库服务器问题.
任何帮助将不胜感激.
这些错误表明CommandTimeout服务器返回结果之前已达到(默认为 30 秒)。这并不表示有任何错误,也没有 SP 可以解决它。这是一个性能问题(很可能缺少索引),必须作为性能问题进行调查。尝试按照 SQLCAT性能故障排除流程图进行操作。
| 归档时间: |
|
| 查看次数: |
3144 次 |
| 最近记录: |