【发布时间】:2015-12-21 17:44:37
【问题描述】:
不幸的是,在使用 .Net 表单时,我打开了一个数据库连接,在执行查询后,我忘记了关闭连接。现在我的例程一次又一次地调用该查询,结果连接池很快就被填满了。
是否有任何选项可以通过存储过程手动关闭连接池?
【问题讨论】:
-
使用 Using 块,它会自动关闭并处理您的连接。不要尝试从服务器端关闭连接。
-
或者,如果它是一次性修复,运行 sp_who2 并查找由于您的进程而打开的所有进程并使用 KILL 关键字关闭。警告。谨慎使用,并作为最后的手段。
-
@jeremy 是正确的。您还应该能够查看最后从线程执行的特定查询,以及它空闲了多长时间,以确保它是您打算杀死的查询。
-
我无法在可执行文件中设置热修复。唯一的选择是任何可能的存储过程修复。
-
很遗憾没有什么好办法。要么修复exe中的问题并重新部署,要么建议你的客户端每天重启sql server,直到你修复它。
标签: .net sql-server connection-pooling sqlconnection