我看到一些表明“连接泄漏”的错误。也就是说,连接未正确关闭并且池即将用完。那么,我该如何进行检测以查看在给定时间打开的确切数量?
Kilhoffer
问问题
4898 次
7 回答
2
从数据库方面来看,主表中的 sp_who2 存储过程非常适合。它将向您显示与数据库的连接。如果您正在寻找更多数据,请尝试进行分析。
于 2008-09-18T20:18:46.580 回答
1
实现一个服务,通过它创建、打开和关闭所有连接。在那里放一个柜台。每次打开或关闭连接时,使用您的日志记录框架进行记录。
于 2008-09-18T20:19:11.867 回答
0
您可以使用分析器工具来跟踪所有现有的以及打开和关闭的连接
您可以从企业管理器中打开探查器
于 2008-09-18T20:20:05.610 回答
0
如果您使用的是 SQL 2000,则可以签入 SQL 2000 Enterprise Manager:
查看当前活动窗口 在 SQL Server 企业管理器中,展开服务器组,然后展开服务器。展开管理,然后展开当前活动。单击进程信息。
当前服务器活动显示在详细信息窗格中。
( http://technet.microsoft.com/en-us/library/cc738560.aspx )
(来自谷歌搜索:sql 2000 当前活动)
于 2008-09-18T20:21:33.843 回答
0
您可以在 SQL Server Management Studio 或查询分析器中运行 sp_who2 以查看所有当前连接。那就是 SQL Server。我不确定您使用的是哪个 RDBMS。
此外,查看您的代码并确保在不再需要连接时立即关闭它。对这个肛门!
于 2008-09-18T20:21:54.497 回答
0
使用“using”语句确保您的连接始终关闭,您将永远不会再遇到此问题:
using(SqlConnection connection = new SqlConnection())
{
...
} // connection is always disposed (i.e. closed) here, even if an exception is thrown
于 2008-09-23T16:33:27.163 回答