似乎我的一个查询没有关闭它的连接。
这是我用来获取计数的查询:
SELECT count(*) FROM sys.dm_exec_connections where client_net_address = '192.168.0.82'
当我使用调试器时,没有抛出任何异常,Visual Studio的行为方式与页面请求完成,调用堆栈清空,网页永远不会完成加载循环和挂起的方式相同。删除正在使用的连接需要iisreset
。
此页面请求会执行大量查询。找到罪魁祸首是可能的,但找到哪个查询有更多的时间有效吗?
是否存在类似于我上面发布的查询,我可以在SQL Server上运行以查看哪些查询请求打开连接而不关闭?
答案 0 :(得分:1)
单个查询不会保持连接打开。未正确处理SqlConnection
个对象,连接保持打开状态。检查代码并验证在处理SqlConnection时是否使用using
语句,如下例所示:http://davidhayden.com/blog/dave/archive/2005/01/13/773.aspx
答案 1 :(得分:1)
也许您的查询仍在执行?
使用SQL Server Management Studio的活动监视器查找SQL Server的活动。右键单击您的服务器,选择“活动监视器”。
打开“进程”区域,您将看到您正在寻找的活动。您可以右键单击每个条目以查找正在执行的语句。