SQL Server Express cannot connect error: 28 - Server doesn't support requested protocol
Sql ServerNetwork ProtocolsSql Server Problem Overview
I cannot connect to my local SQL Server Express (2012, but the version shouldn't matter) from my server (Windows 2008 R2) to use a tool on it (APEX SQL Data Diff if you are wondering). I can browse the network servers fine, and select my local instance from the dropdown of available servers, but when I go to search tables on the server, it times out with this error message (same is true of SSMS).
> A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or > was not accessible. Verify that the instance name is correct and that > SQL Server is configured to allow remote connections. (provider: SQL > Network Interfaces, error: 28 - Server doesn't support strong text > requested protocol) (Microsoft SQL Server, Error: -1)
I have enabled the firewall - that's not it.
I have allowed remote connections - that's not it.
SQL Server Browser service is on and passed through the firewall - that's not it.
I can connect fine with the same tools TO the server, but FROM the server it fails.
Any ideas?
Sql Server Solutions
Solution 1 - Sql Server
Thanks to this article for getting me somewhere with the error message. The issue is the necessary network protocols are disabled by default in SQL Server Express. I had to go to Sql Server Configuration Manager locally and turn on "Named Pipes" and "TCP/IP". After that, you need to restart the SQL Server Browser and SQL Server(instance) services.
While I did not have to, you may also need to check in "SQL Server Network Configuration" under "Protocols" for settings that need adjusted there.
Hope this helps someone else!
Solution 2 - Sql Server
SQL Configuration Manager:
The picture has the wrong group selected on the link panel: it should be SQL Server Network Configuration → Protocols for SQLEXPRESS
.
Solution 3 - Sql Server
Don't forget to also check under "SQL Server Network Configuration" -> Protocols for YourInstance. I was a bonehead and forgot to look there too.