INTRODUCTION
When you try to connect to an instance of Microsoft SQL Server 2012 Express from a remote computer, you might receive an error message. This problem might occur when you use any program to connect to SQL Server.
For example, you receive the following error message when you use the SQLCMD utility to connect to SQL Server:
Sqlcmd: Error: Microsoft SQL Native Client: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2012, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.
This problem might occur when SQL Server 2012 Express is not configured to accept remote connections. By default, SQL Server 2012 Express Edition do not allow remote connections.
To configure SQL Server 2012 Express to allow remote connections, you must complete these steps:
•Enable remote connections on the instance of SQL Server that you want to connect to from a remote computer.
•Turn on the SQL Server Browser service.
•Configure the firewall to allow network traffic that is related to SQL Server and to the SQL Server Browser service.
To enable remote connections on the instance of SQL Server 2012 Express and to turn on the SQL Server Browser service, use the SQL Server 2012 Surface Area Configuration tool. The Surface Area Configuration tool is installed when you install SQL Server 2012.
Enable remote connections for SQL Server 2012 Express
You have to enable remote connections for each instance of SQL Server 2012 Express that you want to connect to from a remote computer. To do this, follow these steps:
1.Click Start, point to Programs, point to Microsoft SQL Server 2012 Express, point to Configuration Tools, and then click SQL Server Surface Area Configuration.
2.On the SQL Server 2012 Surface Area Configuration page, click Surface Area Configuration for Services and Connections.
3.On the Surface Area Configuration for Services and Connections page, expand Database Engine, click Remote Connections, click Local and remote connections, click the appropriate protocol to enable for your environment, and then click Apply.
Note Click OK when you receive the following message:
Changes to Connection Settings will not take effect until you restart the Database Engine service.
4.On the Surface Area Configuration for Services and Connections page, expand Database Engine, click Service, click Stop, wait until the MSSQLSERVER service stops, and then click Start to restart the MSSQLSERVER service.
Enable the SQL Server Browser service
If you are running SQL Server 2012 Express by using an instance name and you are not using a specific TCP/IP port number in your connection string, you have to enable the SQL Server Browser service to allow for remote connections. For example, SQL Server 2012 Express is installed with a default instance name of Computer Name\SQLEXPRESS. You only have to enable the SQL Server Browser service one time, regardless of how many instances of SQL Server 2012 Express you are running. To enable the SQL Server Browser service, follow these steps.
Important These steps may increase your security risk. These steps may also make your computer or your network more vulnerable to attack by malicious users or by malicious software such as viruses. We recommend the process that this article describes to enable programs to operate as they are designed to, or to implement specific program capabilities. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this process in your particular environment. If you choose to implement this process, take any appropriate additional steps to help protect your system. We recommend that you use this process only if you really require this process.
1.Click Start, point to Programs, point to Microsoft SQL Server 2012 Express, point to Configuration Tools, and then click SQL Server Surface Area Configuration.
2.On the SQL Server 2012 Express Surface Area Configuration page, click Surface Area Configuration for Services and Connections.
3.On the Surface Area Configuration for Services and Connections page, click SQL Server Browser, click Automatic for Startup type, and then click Apply. Note When you click the Automatic option, the SQL Server Browser service starts automatically every time that you start Microsoft Windows.
4.Click Start, and then click OK.
Note When you run the SQL Server Browser service on a computer, the computer displays the instance names and the connection information for each instance of SQL Server that is running on the computer. This risk can be reduced by not enabling the SQL Server Browser service and by connecting to the instance of SQL Server directly through an assigned TCP port. Connecting directly to an instance of SQL Server through a TCP port is beyond the scope of this article. For more information about the SQL Server Browser server and connecting to an instance of SQL Server, see the following topics in SQL Server Books Online:
•SQL Server Browser Service
•Connecting to the SQL Server Database Engine
•Client Network Configuration
Create exceptions in Windows Firewall
These steps apply to the version of Windows Firewall that is included in Windows OS. If you are using a different firewall, see your firewall documentation for more information.
If you are running a firewall on the computer that is running SQL Server 2012 Express, external connections to SQL Server 2012 are blocked unless SQL Server 2012 Express and the SQL Server Browser service can communicate through the firewall. You must create an exception for each instance of SQL Server 2012 Express that you want to accept remote connections and an exception for the SQL Server Browser service.
SQL Server 2012 Express uses an instance ID as part of the path when you install its program files. To create an exception for each instance of SQL Server, you have to identify the correct instance ID. To obtain an instance ID, follow these steps:
1.Click Start, point to Programs, point to Microsoft SQL Server 2012 Express, point to Configuration Tools, and then click SQL Server Configuration Manager.
2.In SQL Server Configuration Manager, click the SQL Server Browser service in the right pane, right-click the instance name in the main window, and then click Properties.
3.On the SQL Server Browser Properties page, click the Advanced tab, locate the instance ID in the property list, and then click OK.
To open Windows Firewall, click Start, click Run, type firewall.cpl, and then click OK.
Create an exception for SQL Server 2012 Express in Windows Firewall
To create an exception for SQL Server 2012 in Windows Firewall, follow these steps:1.In Windows Firewall, click the Exceptions tab, and then click Add Program.
2.In the Add a Program window, click Browse.
3. Click C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe, click Open, and then click OK.
4.Repeat steps 1 through 3 for each instance of SQL Server 2012 Express that needs an exception.
Create an exception for the SQL Server Browser service in Windows Firewall
To create an exception for the SQL Server Browser service in Windows Firewall, follow these steps:1.In Windows Firewall, click the Exceptions tab, and then click Add Program.
2.In the Add a Program window, click Browse.
3.Click the C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe executable program, click Open, and then click OK.
Note The path might be different, depending on where SQL Server 2012 Express is installed.