Why am I getting "Cannot Connect to Server - A network-related or instance-specific error"?

Sasa Shree picture Sasa Shree · Aug 5, 2013 · Viewed 1.6M times · Source

I get the following error when trying to connect to SQL Server:

Cannot connect to 108.163.224.173.

A network-related or instance-specific error occurred while establishing a connection to SQL Server.

The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 1326)

This error is thrown when I try to configure my database to gridview in Visual Studio 2010. I'm at a loss as to how to debug this error.

How would you debug this error? What steps should I take in order to determine what is really going on here, in addition to the one mentioned in the error message?

Answer

Teo Chuen Wei Bryan picture Teo Chuen Wei Bryan · Aug 5, 2013

I found the following techniques helpful:

  1. Make sure your database engine is configured to accept remote connections:

    • Start > All Programs > SQL Server 2005 > Configuration Tools > SQL Server Surface Area Configuration
    • Click on Surface Area Configuration for Services and Connections
    • Select the instance that is having a problem > Database Engine > Remote Connections
    • Enable local and remote connections
    • Restart instance
  2. You may need to create an exception on the firewall for the SQL Server instance and port you are using:

    • Start > Run > Firewall.cpl
    • Click on exceptions tab
    • Add sqlservr.exe (typically located in C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, check your installs for the actual folder path) and port (default is 1433)
    • Check your connection string as well
  3. Check if your SQL server services is up and running properly:

    • Go to All Programs > Microsoft SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services
    • Check to make sure SQL Server service status is Running.

    In addition, ensure that your remote server is in the same network. Run sqlcmd -L to ascertain if your server is included in your network list.

  4. Enable TCP/IP in SQL Server Configuration

    When two or more SQL Servers are connected across network they do all communication using TCP/IP. The default port of SQL Server installation is 1433. This port can be changed through SQL Server Configuration Manager. TCP/IP should be enabled for SQL Server to be connected.

    • Go to All Programs >> Microsoft SQL Server 2008 >> Configuration Tools >> SQL Server Configuration Manager >> Select TCP/IP
    • Right Click on TCP/IP >> Click on Enable

    You must restart SQL Server Services for all the changes to take effect. Right click and go to menu properties to select location where default port of SQL Server can be changed.