gpt4 book ai didi

sql-server - 如何解决连接池问题?

转载 作者:行者123 更新时间:2023-12-03 03:08:29 26 4
gpt4 key购买 nike

我最近开始在我的开发计算机上遇到 SQL Server 的数据库连接问题。

System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool

如何监视连接池以了解发生了什么?

更多信息:

我在这方面运气不太好 - 我绝对没有泄漏连接。每个连接都位于 using 语句内。

当问题确实发生时,我打开了性能监视器窗口,并且它没有显示接近池限制(即 100)的任何地方 - 通常大约有 2 - 5 个连接,所以我认为池没有被占用筋疲力尽,所以可能是超时了。

但是,我已将 ConnectionTimeout 设置为 0 - 根据文档,这意味着它应该永远等待连接 - 但我没有看到这一点。

当它确实发生时,它发生得相当快 - 我在 VS2010 的调试器下运行 - 启动我的应用程序的一个新实例 - 它可能会在启动后的一两秒内发生 - 在启动应用程序时有发生的几个查询。我实际运行的 SQL Server 是 SQL Express 2008。也许我应该尝试在 SQL Server 2008 上运行它,看看是否看到任何不同的行为。

还有其他想法吗?

最佳答案

看看ADO.NET Performance Counters与池相关。

您所描述的症状通常表明您存在连接泄漏。确保所有连接在完成后都已释放,最好通过使用 using 语句进行包装。

关于sql-server - 如何解决连接池问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com