Cannot connect to servername
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=14655; handshake = 13502; (Microsoft SQL Server)
The wait operation timed out
When installing SQL Server, you may run into this error. There are a lot of replies on the web, so finding the exact solution may take you some work. I ran into this issue today, and found that Renzo Ciot’s checklist at https://stackoverflow.com/questions/15488922/connection-to-sql-server-works-sometimes about halfway down the page had some good suggestions.
Since I knew that my firewall was on for Domain Networks, I decided to try allowing sqlserver.exe through the firewall, which would allow incoming connections:
For me, adding the entry ‘SQL Server Windows NT – 64 Bit’ is located at:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn
but for you, it may be in another location, depending on what product version you are working with (SQL Server 2016 here). After adding, I get connected from my client machine:
‘Punching a hole through the firewall’ in this instance was the solution. Note that you may have to do this for each node of a cluster; I went to each node for my cluster and changed the firewall setting. I tried to go to the virtual FQDN of my cluster and it did not change for both nodes.
I hope this helps someone.