在TIME_WAIT状态下看到大量与SQL Server的TCP连接

时间:2017-03-22 19:21:09

标签: c++ sql-server sockets tcp oledb

我开发了几个Windows服务,它们通过端口1433上的TCP / IP连接到SQL Server 2008 R2。

编写应用程序,以便每个服务只使用一个连接来连接到SQL Server。但是在给定服务的时间等待状态下,我可能会看到端口1433的数百个连接。

每当我的一个服务断开连接或从SQL Server连接时,我绝对肯定将条目写入日志文件。然而,对于SQL Server的数百个TCP连接,它们都没有任何日志条目。

显而易见的想法是我的服务正在为每个事务打开和关闭与SQL Server的连接,但这不是这种情况。

事实上,我将在我的一个服务上看到数百个到TIME_WAIT状态的SQL Server的tcp连接一分钟,下一分钟它们将全部消失,然后我开发的另一个Windows服务将会在TIME_WAIT状态下有数百个到SQL Server的TCP连接。然而,两个Windows服务每秒都在不断处理交易..

是否有任何可能的解释,如果没有我的服务实际明确地打开和关闭数据库连接,所有这些到SQL Server的TCP连接是如何发生的?也许某个MS Bug?

0 个答案:

没有答案