I had to set up a new SQL Server database, which I haven’t done in a while as I tend to focus my efforts on mySQL. Nevertheless I needed to get grip on a new site to migrate.
After setting most things up, I managed to get to a point where the database wasn’t starting.
Microsoft OLE DB Provider for SQL Server error ‘80004005’
[DBNETLIB][ConnectionOpen (PreLoginHandshake()).]General network error. Check your network documentation.
I really love unhelpful messages. Anyway, after some head scratching I found an article on on the Microsoft Forums from a chap with a similar issue.
To fix the problem, I loaded up the SQL Server Configuration Manager, and expanded SQL Server Network Configuration. Under Protocols for MSSQLSERVER (this is the instance name of the server), I enabled TCP/IP. The error went away. Tada!
I suppose it would help to read the documentation thoroughly – but I got to where I needed to be anyway. I imagine that it makes sense to disable TCP/IP connections until you’re happy that the server is secure. Even so, I was making connections from the localhost, so I would have expected it to work.