两个服务器之间的SQL连接问题

我有两台Windows Server 2012 R2服务器HOST1和HOST2。 HOST1有一个与HOST2上的SQL Server 2014实例对话的Web应用程序。

当拉取更大量的数据时,特别是在计划的整合期间,HOST1遇到导致进程失败的错误。 总是有三个错误信息中的一个出现问题:

System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.) ---> System.ComponentModel.Win32Exception (0x80004005): The semaphore timeout period has expired System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 - Physical connection is not usable) System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) ---> System.ComponentModel.Win32Exception (0x80004005): An existing connection was forcibly closed by the remote host 

我做了一个小的testing应用程序,除了使用ADO将数据推送到HOST2或从HOST2提取数据,以便从等式中消除我的产品。 该工具可靠地再现错误。

还有第三个服务器,HOST3(也是2012 R2),它在同一个networking上。 当我从HOST3运行该工具时,我无法重现错误。 我也没有问题从我的工作站通过VPN运行该工具。 这将表明HOST1或至less与HOST1和HOST2之间的通信有些可疑。

在诊断问题方面,你会如何解决这个问题?