Asp.net Sql Server探查器跟踪在webapplication中提供超时

Asp.net Sql Server探查器跟踪在webapplication中提供超时,asp.net,sql-server,sql-server-profiler,Asp.net,Sql Server,Sql Server Profiler,我正在尝试对运行在Visual Studio development Server中的Asp.NET网站应用程序运行Sql Server Profiler跟踪 但是,每当跟踪运行时,来自web应用程序的所有db请求都会失败,并显示错误消息: “超时已过期。操作完成前超时时间已过,或者服务器没有响应。” 如果停止跟踪,web应用程序将再次工作 非常感谢您在这方面的任何意见。一旦您解决了探查器超时问题,您应该考虑调整您的数据库(如果您还没有,尽管听起来不像) 最近我遇到了一个类似的问题,结果证明是I

我正在尝试对运行在Visual Studio development Server中的Asp.NET网站应用程序运行Sql Server Profiler跟踪

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

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

如果停止跟踪,web应用程序将再次工作


非常感谢您在这方面的任何意见。

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

最近我遇到了一个类似的问题,结果证明是IO阻塞,因为某些查询/语句的读取量很高。让探查器在一个已经很慢的数据库上运行是很困难的。我们必须在较安静的时间以10分钟的时间运行探查器,尽管这无助于识别负载最重的最大问题

一旦我们获得了探查器来捕获数据(在SQLServer2005上),并实现了数据库调优顾问(DTA)推荐的索引和统计信息,数据库就再次以预期的性能级别运行

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

它详细介绍了如何运行轻量级跟踪,这将有助于DTA推荐索引和统计信息,从而提高数据库的性能,并确定代码中可能存在的一些运行缓慢的查询

您正在运行的跟踪可能会使数据库崩溃,因此在10-20分钟的时间段内运行它可能更可行


如果存在IO阻塞问题,这通常会影响整个sql server,并且management studio有时似乎没有响应。

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

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

试试这个:


ALTER DATABASE[数据库名称]设置多用户

事件探查器是否在事件发生时成功捕获事件?您使用的是哪个版本的SQL Server?不,未捕获任何内容。我使用的是SQL Server 2008。我自己从未遇到过这个问题。听起来确实很奇怪。使用扩展事件跟踪比使用探查器跟踪更幸运吗?(如果你以前没有使用过这个答案,这里的答案可能会帮助你开始)@martinhm。。。在我走这条路之前,你认为这与允许到db的最大并发连接有关吗?(认为它在我的开发机器上意外设置为1)。我尝试用谷歌搜索,但找不到关于如何检查或更改该值/设置的直接答案…要在management studio中检查该设置,请右键单击该SQL Server实例的根节点,单击菜单上的“属性”,然后单击弹出对话框上的“连接”选项卡。是的,更改CommandTimeout似乎可以做到这一点。由于我使用的是asp.net成员资格和roleprovider,因此我还需要在web.config文件中的那些元素上设置commandTimeout属性。似乎我必须查阅那本书才能真正了解我应该如何在生产中进行分析,因为首先进行DTA分析是进行分析的原因。谢谢你的意见。