加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在连接池关闭之前,sql server连接必须空闲多久?

发布时间:2020-12-12 08:30:07 所属栏目:MsSql教程 来源:网络整理
导读:我有一个客户端 – 服务器应用程序,使用.NET SqlClient数据提供程序连接到sql server – 很标准的东西.默认情况下,在连接池管理器关闭数据库连接并将其从池中删除之前,连接将空闲多久?什么设置如果有控件这个? This MSDN document只说 The connection poole
我有一个客户端 – 服务器应用程序,使用.NET SqlClient数据提供程序连接到sql server – 很标准的东西.默认情况下,在连接池管理器关闭数据库连接并将其从池中删除之前,连接将空闲多久?什么设置如果有控件这个?

This MSDN document只说

The connection pooler removes a connection from the pool after it has been idle for a long time,or if the pooler detects that the connection with the server has been severed.

解决方法

几年前的答案是这样的情况,但现在改变了,所以你可以参考 source并写出一个总结:)

老回答

This excellent article告诉我们我们需要知道的,使用反射来揭示连接池的内部工作.

根据我的理解,“闭合”连接将以半随机间隔定期清理.清理过程在每2分钟和3分钟50秒之间运行,但需要在“关闭”连接正确关闭之前运行两次.因此,在7分40秒的“关闭”之后,底层的sql连接应该被正确关闭,但可能短至2分钟.在编写时,在进程中创建的第一个连接池将始终具有3min 10s的定时器间隔,因此在调用ADO对象上的Close()之后,通常会看到sql连接在3min 10s和6min 20s之间关闭. .

显然这是使用无证件的代码,所以将来可能会改变 – 甚至可能会改变,因为该文章是写的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读