I\'ve recently wiped and reinstalled/configured all the components of my web and DB servers. I\'m running IIS 6, .NET 3.5, SQL Server 2005. The two servers are separate VM\'
Late to the game, but I was getting this same error with a .NET web app/MS SQL. Site hosted in IIS on GoDaddy VPS, hosting has multiple IPs, DB hosted at Azure.
I believe my problem was (idiot!), I simply forgot to put the GD site's dedicated IP addresses from GD into the Azure firewall for the SQL server. For some strange reason the traffic gets to/from GD/Azure outside of the actual IP address for the website (the IIS binding addresses) and works.
But more often than not the actual IIS binding addresses are the ones calling out to Azure to interact with the SQL services. I corrected the firewall settings on Azure to include the correct IPs from GoDaddy and (knock on wood) the semaphore error seems gone now.
In other words, before you start looking for big problems, start simple and be sure to check easy things like network/firewall settings.