How to: Configure SQL Express to accept remote connections

This is a copy of the post that used to exist here for which I got some complaints since some people where still trying to read it when looking at an answer I wrote on StackOverflow a few years ago and the page was not there anymore. The above is an exact replica of the original post, hope it helps:

I just installed SQL express 2008 recently and wanted to use it for a test application that I have in a hosted server. I wanted for this application to connect to my local SQL express 2008 database but soon I found out I needed to do some adjustments for this to work. So this is what I did to make my local SQL express 2008 db accept remote connections.

  1. Go to Start – All Programs – Microsoft SQL Server 2008 – Configuration Tools – SQL Server Configuration Manager
  2. Select and expand the SQL Server Network Configuration node and then select your SQL express 2008 database. In the window to the right, right-click on TCP/IP and click on “Enable”.
  3. Once you have enabled the TCP/IP protocol, right-click on it and select Properties, go to the tab labeled “IP Addresses” and make sure you clear any values under TCP Dynamic Ports (even if it is 0, remove it), and then add a new port number on each one of the TCP Portproperties. In my case I used port 14330.
    Click Apply and OK.
  4. You now need to restart SQL express 08, to do this, select the SQL Services node in the same SQL Server Configuration Manager and the right-click on the name of your SQL express 08 instance and select restart. If you receive any errors trying to restart your server, go back to step 3 and make sure you did everything I mentioned, if the error keeps coming up, then use a different port number.
  5. Finally, you need to make sure a remote connection can be made to your SQL server, so we need to open the port you assigned on step 3 (in my case 14330) in your router and make sure Windows firewall and/or any other firewall accept incoming connections to this port.

That’s it! your SQL express 2008 server should be able to accept remote connections now. As always, make sure you take the appropriate steps to make sure your systems are secure.

Good Luck!

6 Comments

  1. Hi Ricardo,
    thank you for your article.

    I have one question: is the connection between the client and server encrypted? I mean: if someone sniff the connection, does he be able to get exchanged data?

    In my case I have a ASP.NET 4.5 web app connecting to a remote SQL Express 2012.

    Thank you in advance,
    Gianpiero

    Like

    Reply

    1. Hi Gianpero, To secure the communication between your web application and a remote SQL database you can install a server certificate on the database server to encrypt the SQL credentials over the network, use a SSL connection between your web app and the database server to protect sensitive application data and/or use an IPSec encrypted channel between the web and database server.

      Like

      Reply

  2. Hi Ricardo,
    thank you for your article.

    I have one question: is the connection between the client and server encrypted? I mean: if someone sniff the connection, does he be able to get exchanged data?

    In my case I have a ASP.NET 4.5 web app connecting to a remote SQL Express 2012.

    Thank you in advance,
    Gianpiero

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.