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

前端之家收集整理的这篇文章主要介绍了sql-server – 在连接池关闭之前,sql server连接必须空闲多久?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个客户端 – 服务器应用程序,使用.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之间关闭. .

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

猜你在找的MsSQL相关文章