Sql Server Profiler跟踪在Web应用程序中提供超时

时间:2010-07-03 06:24:36

标签: asp.net sql-server sqlprofiler

我正在尝试使用Sql Server Profiler对运行在Visual Studio开发服务器中的Asp.NET网站应用程序运行跟踪。

但是,每当跟踪运行时,来自Web应用程序的所有数据库请求都会失败,并显示错误消息:

“超时已过期。操作完成前经过的超时时间或服务器没有响应。”

如果我停止跟踪,Web应用程序将再次运行。

对此的任何意见表示赞赏。

3 个答案:

答案 0 :(得分:1)

您只需要在调试时增加sql连接上的CommandTimeout以及应用程序池超时值。

答案 1 :(得分:0)

一旦你解决了探查器超时问题,你应该考虑调整你的数据库(如果你还没有,虽然它听起来不像)。

我最近遇到了类似的问题,由于某些查询/语句的读取率很高,结果是IO阻塞。让剖析器在已经很迟钝的数据库上运行很困难。我们不得不在更安静的时间在10分钟内运行分析器,尽管这无法确定最重负载的最大问题。

一旦我们获取了探测器来捕获数据(在sql server 2005上)并实现了数据库调优顾问(DTA)推荐的索引和统计数据,数据库再次以预期的性能水平运行。

我建议你在sql server profiler上阅读这个免费的电子书....

http://www.red-gate.com/products/SQL_Response/offers/mastering_sql_profiler_ebook.htm

详细介绍了如何运行轻量级跟踪,这将有助于DTA推荐可提高数据库性能的索引和统计信息,还可识别可能位于代码中的一些运行缓慢的查询。

您正在运行的跟踪可能会使数据库倾斜,因此在10-20分钟内运行它可能更可行。

如果你有IO阻塞问题,这通常会影响整个sql服务器,有时管理工作室似乎没有响应。

答案 2 :(得分:0)

您是否可能意外陷入单用户模式?

试试这个:

ALTER DATABASE [数据库名称] SET MULTI_USER;

相关问题