Connect to the Database Engine

This article provides a high level overview for connecting to the SQL Server Database Engine, used by the following products and services:

  • SQL Server
  • Azure SQL Database
  • Azure SQL Managed Instance
  • Analytics Platform System (PDW)
  • Azure Synapse Analytics
  • Azure SQL Edge

Prerequisites

You connect to the Database Engine using a client tool or client library. Client tools run in a graphical user interface (GUI), or a command-line interface (CLI).

The following table describes some of the more common client tools.

Client tool Type Operating system
SQL Server Management Studio (SSMS) GUI Windows
Azure Data Studio (ADS) GUI Windows, macOS, Linux
bcp CLI Windows, macOS, Linux
sqlcmd CLI Windows, macOS, Linux

Note

Client tools include at least one client library. For more information about connecting with a client library, see Connection modules for Microsoft SQL Database.

Connection options

When you connect to the Database Engine, you must provide an instance name (that is, the server or instance where the Database Engine is installed), a network protocol, and a connection port, in the following format:

[<protocol>:]<instance>[,<port>]

The protocol and port are optional because they have default values. Depending on the client tool and client library, they might be skipped.

Note

If you use a custom TCP port for connecting to the Database Engine, you must separate it with a comma (,), because the colon (:) is used to specify the protocol.

Setting Values Default Details
Protocol tcp (TCP/IP), np (named pipes), or lpc (shared memory). np is the default when connecting to SQL Server.

tcp is the default when connecting to Azure SQL services.
Protocol is optional, and is frequently excluded when connecting to SQL Server on the same computer as the client tool.

For more information, see Network protocol considerations in the next section.
Instance The name of the server or instance. For example, MyServer or MyServer\MyInstance. localhost If the Database Engine is located on the same computer as the client tool, you may be able to connect using localhost, 127.0.0.1, or even . (a single period).

If you're connecting to a named instance, you must specify the server name and the instance name, separated by a slash. For example, MyServer\MyInstance. A named instance on the local machine may be specified by .\MyInstance. SQL Server Express uses MyServer\SQLEXPRESS.
Port Any TCP port. 1433 The default TCP port for connecting to the default instance of SQL Server is 1433. However, your infrastructure team may configure custom ports.

SQL Server on Windows, including SQL Server Express edition, can be configured as a named instance and may also have a custom port.

For connecting to Azure SQL services, see the Connect to Azure SQL section.

For more information about custom ports with SQL Server, see SQL Server Configuration Manager.

Network protocol considerations

For SQL Server on Windows, when you connect to an instance on the same machine as the client tool, and depending on which edition is installed, the default protocol can be configured with multiple protocols, including named pipes (np), TCP/IP (tcp), and shared memory (lpc). Use the shared memory protocol for troubleshooting when you suspect the other protocols are configured incorrectly.

If you connect to SQL Server over a TCP/IP network, make sure that TCP/IP is enabled on the server as well. TCP/IP may be disabled by default on installations of SQL Server. For more information, see Default SQL Server Network Protocol Configuration.

Connections to Azure SQL services, SQL Server on Linux, and SQL Server in containers, all use TCP/IP.

For both Azure SQL Database and Azure SQL Managed Instance, see Connect and query articles.

Connect to Azure SQL

This section provides information on connecting to Azure SQL services.

To quickly connect to and query an Azure SQL Database from the Azure portal, use the Azure portal Query editor for Azure SQL Database.

For external connections, be aware of the secure-by-default Azure SQL Database database-level firewall.

Examples for application connections are available:

Connect to SQL Server

This section provides information on connecting to SQL Server.

Connect to SQL Server on the same machine as the client

You can connect to the local machine using named pipes (np), shared memory (lpc), or TCP/IP (tcp). Shared memory is the fastest, because it doesn't use the network interface.

Note

If you use an IP address for your instance name and don't specify tcp, the protocol defaults to np (named pipes) if it's a configured protocol.

A named instance has a dynamically assigned TCP port. If you want to connect to a named instance, the SQL Server Browser service must be running on the server.

Connect to a default SQL Server instance on the same machine

  1. If you're connecting to a server configured with default settings, use one of the following options:

    • localhost
    • 127.0.0.1
    • . (a single period)
  2. If you're connecting to a custom TCP port, such as 51433, use one of the following options:

    • tcp:localhost,51433
    • 127.0.0.1,1433

Connect to a SQL Server named instance on the same machine

In this example, the named instance is called MyInstance. Make sure the SQL Server Browser service is running, and use one of the following options:

  • localhost\MyInstance
  • 127.0.0.1\MyInstance
  • .\MyInstance

Connect to SQL Server on the network

You can connect using a server name or an IP address. In this example, the server name MyServer resolves to 192.10.1.128.

Connect to a default SQL Server instance on the network, using named pipes

To connect to a server on the local network with named pipes, use one of the following options:

  • MyServer
  • np:MyServer

Note

On a local area network, connecting with TCP/IP might be faster than with named pipes.

Connect to a default SQL Server instance on the network, using TCP/IP

  1. If you're connecting to a server configured with default TCP port 1433, use one of the following options:

    • tcp:MyServer
    • tcp:192.10.1.128
  2. If you're connecting to a server configured with a custom TCP port, such as 51433, use one of the following options:

    • MyServer,51433
    • tcp:MyServer,51433
    • 192.10.1.128,51433
    • tcp:192.10.1.128,51433

Connect to a SQL Server named instance on the network, using TCP/IP

In this example, the named instance is called MyInstance. Make sure the SQL Server Browser service is running on the server, and use one of the following options:

  • tcp:MyServer\MyInstance
  • tcp:192.10.1.128\MyInstance

Get help