我正在看我的SQL Server 2008框,我看到一个已经运行了很长时间的查询。我知道它是由网络服务器启动的 - 但我想知道哪个ASP.NET请求应该受到责备。 (这样我就可以看到它背后的用户/ IP。)
sys.dm_exec_requests为我提供了查询的session_ID。如何找出哪个ASP.NET请求正在等待来自该session_ID的响应?
答案 0 :(得分:2)
除非您创建它,否则没有任何关系。数据库调用对ASP.NET会话一无所知。您提到的会话ID是SQL会话。
最简单的解决方案是使用会话信息添加跟踪。
<强>更新强> 跟踪:
2)使用会话ID或用户ID
跟踪调用数据库的开始3)使用会话ID或用户ID跟踪调用数据库的结尾。计算所需的时间并追踪它。
答案 1 :(得分:0)
如果这仅用于调试目的,这里是我过去使用过的hack。 ConnectionString有一个名为“Application”的可用字符串参数。您可以将任何所需内容放入该参数中,它将显示在SQL Management Studio中的活动监视器上。