.net 诊断SQL连接泄漏?

.net 诊断SQL连接泄漏?,.net,sqlconnection,.net,Sqlconnection,我遇到了一个web应用程序的问题,该应用程序正在耗尽连接池中的所有可用连接。我似乎回忆起了一些用于诊断所有活动连接的好工具,但我对此一无所知。诊断此问题的好方法有哪些?您是否在应用程序中使用SqlDataReader对象?SqlDataReader对象将保持其连接打开,直到它关闭。我投票赞成代码复查。我曾经在第三方构建的应用程序中遇到过类似的情况,搜索连接很快就暴露出它没有使用/finally来确保在发生异常时关闭连接 正如Michael指出的,您必须确保数据读取器使用的连接已关闭。您可以在读卡

我遇到了一个web应用程序的问题,该应用程序正在耗尽连接池中的所有可用连接。我似乎回忆起了一些用于诊断所有活动连接的好工具,但我对此一无所知。诊断此问题的好方法有哪些?

您是否在应用程序中使用SqlDataReader对象?SqlDataReader对象将保持其连接打开,直到它关闭。

我投票赞成代码复查。我曾经在第三方构建的应用程序中遇到过类似的情况,搜索连接很快就暴露出它没有使用/finally来确保在发生异常时关闭连接


正如Michael指出的,您必须确保数据读取器使用的连接已关闭。您可以在读卡器关闭时指定连接已关闭,然后对于这些情况,只需确保数据读卡器已被释放(使用using(){})

您可以运行sp_who来查看来自SQL server的活动连接,但是,您可能没有按照其他人的建议关闭连接。但是,如果您正在关闭连接,但立即重新打开它们(如在循环中读取文本文件或其他内容),则即使您认为正在关闭它们,也可以全部使用它们(请参阅)。如果您发布了一个代码示例,我想您会得到一个更好的答案。

of将允许您跟踪谁持有对连接对象的引用,通过这些信息,您应该能够跟踪有问题的方法