I have a web server with SQL express 2008 installed. I was trying to connect to this from my local machine using SSMS. After enabling TCP/IP in SQL configuration manager, starting SQL browser service and opening up the firewall I still couldn't connect using xxx.xxx.xxx.xxx\sqlexpress as the server name.

Finally out of frustration I tried to connect taking off the sqlexpress instance name to just xxx.xxx.xxx.xxx and it worked!

I'm really at a loss here as to why this works. What would happen if I installed more instances of SQL?


If SQL express was installed as the default instance then it only uses the server DNS name or it's IP to connect to it. Any named instances you install should work fine.

I tested this out on one of my SQL Server instances by connecting to the ServerName\MSSQL and it could not connect. Once I removed the MSSQL it worked fine. I have named instances on that server that I am able to connect to without any problems.

| improve this answer | |
  • I think you are right about the default instance. I thought it was installed as a named instance. The confusing thing is that I can connect on the local machine using \sqlexpress – Max May 19 '10 at 15:45
  • 1
    @Max: have a look at the ports that your instances are using. If you are not using \sqlexpress in your connection string or server registration then you are not connecting to the named instance, you are connecting to the default instance and those are distinctly different. It could be that you only opened port 1433 and that your named instance (\sqlexpress) is bound to a different port that your firewall is blocking. By default, SQL Express installs itself as the named instance \sqlexpress, not as a default instance. – squillman May 19 '10 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.