如何查看正在运行的SQL查询背后的ASP.NET请求?

时间:2010-11-10 13:58:48

标签: asp.net sql sql-server-2008 iis

我正在看我的SQL Server 2008框,我看到一个已经运行了很长时间的查询。我知道它是由网络服务器启动的 - 但我想知道哪个ASP.NET请求应该受到责备。 (这样我就可以看到它背后的用户/ IP。)

sys.dm_exec_requests为我提供了查询的session_ID。如何找出哪个ASP.NET请求正在等待来自该session_ID的响应?

2 个答案:

答案 0 :(得分:2)

除非您创建它,否则没有任何关系。数据库调用对ASP.NET会话一无所知。您提到的会话ID是SQL会话。

最简单的解决方案是使用会话信息添加跟踪。

<强>更新 跟踪:

1)Enable tracing

2)使用会话ID或用户ID

跟踪调用数据库的开始

3)使用会话ID或用户ID跟踪调用数据库的结尾。计算所需的时间并追踪它。

答案 1 :(得分:0)

如果这仅用于调试目的,这里是我过去使用过的hack。 ConnectionString有一个名为“Application”的可用字符串参数。您可以将任何所需内容放入该参数中,它将显示在SQL Management Studio中的活动监视器上。