【问题标题】:DB timeout when generating report from the web从 Web 生成报告时数据库超时
【发布时间】:2011-08-09 21:15:36
【问题描述】:

我在 ASP.NET 应用程序中有一份报告。当我尝试从浏览器生成它时,它会因数据库超时错误而崩溃,但是当我在 SQL Management Studio 中执行完全相同的查询时,它会在 5 秒内显示结果集。

查询是在代码隐藏文件中编写的不干净的 SQL(没有使用 ORM),它的参数来自 Web 表单,所以我知道生成的确切查询是什么。

问题的原因可能是什么?

【问题讨论】:

  • 传输了多少数据?
  • 您能发布您收到的确切错误消息吗?
  • 您是在 Web 服务器本身(本地)还是通过网络使用 SMSS? Web 服务器是在 sql server 本身上(本地)还是跨网络?
  • 2.现在做不到。只是默认的超时消息
  • 3.他们都是本地人。这几乎不是网络相关的问题

标签: asp.net sql-server timeout


【解决方案1】:

首先,使用 SQL Profiler 附加到数据库并查看正在发送的确切查询。将其用于其他测试。

其次,将连接超时设置为 300 秒之类的荒谬值。然后对命令超时执行相同的操作。

第三,确保您的应用程序和管理工作室实例都在与同一个数据库通信...最好具有完全相同的用户权限。

再次运行。然后再次运行。

可能是数据库需要时间来进行初始加载(因此第一个查询需要一段时间),并且可以说数据库仍然“热”时正在执行通过管理工作室的查询。

最后,您说管理工作室在 5 秒内显示结果。它是 5 秒开始填充查询结果窗口还是 5 秒整个查询完成执行。那可能是完全不同的时代。

【讨论】:

  • 谢谢,我会试试的。我在测试时使用相同的数据库和相同的用户。在 SMSS 中获得完整的集合需要 5 秒,而不仅仅是其中的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
相关资源
最近更新 更多