gpt4 book ai didi

.net - 间歇性 "batch is aborted"异常

转载 作者:行者123 更新时间:2023-12-03 00:49:56 27 4
gpt4 key购买 nike

我有一个以 .NET 4.0 数据库为中心的应用程序(胖客户端、WinForms),针对 SQL Server 运行(主要通过 Linq to Sql,并撒有一些普通的 ADO.NET),该应用程序部署在数百个环境中(每个环境都由我们维护)客户的 IT 人员)。该应用程序是我公司使用多年的旧版 FoxPro 产品的重写。

该应用程序似乎对我们所有的客户都运行良好,除了一个客户,该应用程序出现间歇性异常,如下所示:

System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

The request failed to run because the batch is aborted, this can be caused by abort signal sent from client, or another request is running in the same session, which makes the session busy.

我在网上能找到的所有关于此问题的信息(例如 herehere )都表明这个问题是 SQL Server 2005 的一个错误,已在 SP1 中得到解决。但是,该客户使用的是 SQL Server 2008 R2 Express(这已经过我们公司的验证;我们不只是相信客户的话)。此外,我们没有使用连接池或分布式事务,因此我找到的链接似乎更不相关。

同样,问题是间歇性的(每天几次),并且发生在所有不同的工作站上(似乎表明这不是单个客户端的问题)。旧版 FoxPro 应用程序仍然存在于他们的环境中并且运行良好(针对完全相同的数据库),这似乎表明这不仅仅是网络或数据库服务器问题。

任何帮助将不胜感激。

最佳答案

这些错误表明 CommandTimeout在服务器返回结果之前达到(默认为 30 秒)。这并不表示有任何错误,也没有 SP 可以解决它。这是一个性能问题(很可能缺少索引),必须作为性能问题进行调查。尝试遵循 SQLCAT performance troubleshooting flowchart .

关于.net - 间歇性 "batch is aborted"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com