We're are experiencing isolated issues where our .NET application is failing to connect to a remote SQL server database with the following error:
System.Data.SqlClient.SqlException (0x80131904): 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=14672; handshake=13498; ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
The SQL server is SQL Server 2008 R2, and is configured for Named Pipes and TCP/IP. On some client machines we are able to connect without issues. On others, we're only able to connect if we disable Named Pipes.
I am not clear on what client environment settings, software, etc... would cause this error to occur. Any help in understanding this situation would be greatly appreciated.