I recently had the privelege to explore a SQL 2000 to SQL 2005 upgrade for one of our Web applications, and in the same breath an upgrade from the .NET 1.1 framework to .NET 2.0…
I’ll talk about the specifics that I learned during the SQL upgrade another time, but I ran into only one issue during my 1.1 to 2.0 upgrade process. The issue wasn’t even really an .NET framework issue.
Long story short, my lesson learned was essentially establish that the app works before the upgrade. Duh, can you say BASELINE? What threw me for a loop which led me astray is that the .NET 2.0 led me to believe that I had a SQL 2005 configuration issue:
Error With .NET 2.0
Exception=System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)
To troubleshoot, I rolled back to .NET 1.1 with SQL 2000 and saw:
Error With .NET 1.1
Exception=System.Data.SqlClient.SqlException: SQL Server does not exist or access denied.
Interesting, so I didn’t have a SQL 2005 OR .NET 2.0 problem. The issue? I learned that the above errors occur when:
1. SQL not started (duh, that wasn’t my problem though)
2. IPSEC configured incorrectly (my problem)
1. Start SQL Server
2. Configure IPSEC so that the servers can be pinged successfully in both directions (Web server to SQL and SQL to Web server)
Why am I telling you all of this? Because I have nothing better to do right now. Err… Or…While Googling on my SQL 2005 error I found some great SQL Server 2005 connection troubleshooting links. If you’re stuck with SQL 2005 connection issues here are three some references to check out: