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
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)
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
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
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
- Create a valid connection string using the shared memory protocol
- Create a valid connection string using TCP/IP
- Troubleshoot connectivity issues in SQL Server
- Trace the network authentication process to the Database Engine