Error - “Connection Timeout Expired” in the Instance Details Pane with DxAdmin
Summary
An error of Connection Timeout Expired
is seen in the instance details pane when selecting the instance in DxAdmin.
Information
In some versions of Microsoft Windows Server, notably in Windows Server 2016 CTP4 and above, connections to a SQL Server instance running on the same node as the client can fail to complete if the Vhost cannot be resolved by name.
This can cause the following issue in the Instance Detail pane within DxAdmin:
:Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=<#>; handshake=<#>;
Solution
Ensure that all nodes are able to resolve all Vhosts using the following guidelines.
-
A static entry for each Vhost IP should exist in the hosts file (
%systemroot%\system32\drivers\etc\hosts
or/etc/hosts
).For example:
192.168.1.101 vhost1
192.168.1.102 vhost2 -
"A" and "PTR" records are present in DNS for each Vhost/IP for proper forward and reverse lookup. Dynamic DNS registration is not supported.
-
On Windows, ensure Register this computer's addresses in DNS is unchecked for all network adapters under the properties for the interface(s). This prevents the virtual IP from being registered with DNS for the physical host. If this option is checked, it will cause resolution issues when the virtual IP moves between cluster member nodes.