BizTalk 2013R2 & SQL 服务器 - 连接泄漏导致的超时错误

BizTalk 2013R2 & SQL SERVER - Timeout Errors caused by Connection Leaks

我们最近在 BizTalk 2013R2 上收到了数百个错误 (运行 CU 8);

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

我怀疑这些是由连接泄漏引起的,但我不确定如何确定确切的来源。

我已经尝试使用 SP_WHO2 进行查询以查看 many/which 连接是如何打开的,并且可以看到很多与我们的 Biz 服务器的休眠连接,但还是无法完全隔离它们. 我可以看到问题发生在哪个发送端口上,我可以看到上面的错误拒绝了通过 WCF-SQL 调用的哪个存储过程,但我现在不知道下一步该去哪里。

据我所知,没有非正统的连接或适配器被用来调用与 Biz 服务器的连接。 我唯一能想到的可能是 Typed Polling 调用背后的连接没有被关闭。

BizTalk 是否应该在尝试连接后关闭所有 WCF-SQL/WCF-Custom 适配器连接?

关于下一步去哪里隔离源有什么建议吗?

该问题应该已在 BizTalk Server 2013 R2 的 CU 7 中修复,请参阅 FIX: WCF-SQL adapter fails intermittently if AmbientTransaction is True or if ReceiveTimeout is not more than polling time plus time to query data from SQL Server

该文章中暗示的解决方法在 CU 7 之前曾在某种程度上起作用,例如将 ReceiveTimeout 设置为一个非常大的数字。所以试试看。