Skip to content

Latest commit

 

History

History
199 lines (127 loc) · 13.1 KB

connect-to-database-engine.md

File metadata and controls

199 lines (127 loc) · 13.1 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic
Connect to the SQL Server Database Engine
Learn how to connect to the Database Engine used by SQL Server and Azure SQL services
rwestMSFT
randolphwest
02/07/2025
sql
connectivity
conceptual

Connect to the Database Engine

This article provides a high level overview for connecting to the [!INCLUDE ssdenoversion-md], used by the following products and services:

Prerequisites

You connect to the [!INCLUDE ssde-md] 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
MSSQL extension for Visual Studio Code GUI Windows, macOS, Linux
sqlcmd CLI Windows, macOS, Linux
bcp 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 [!INCLUDE ssde-md], you must provide an instance name (that is, the server or instance where the [!INCLUDE ssde-md] 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 can be skipped.

Note

If you use a custom TCP port for connecting to the [!INCLUDE ssde-md], 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 [!INCLUDE ssnoversion-md].

tcp is the default when connecting to Azure SQL services.
Protocol is optional, and is frequently excluded when connecting to [!INCLUDE ssnoversion-md] 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 [!INCLUDE ssde-md] is located on the same computer as the client tool, you might 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 is specified by .\MyInstance. [!INCLUDE ssexpress-md] uses MyServer\SQLEXPRESS.
Port Any TCP port. 1433 The default TCP port for connecting to the default instance of [!INCLUDE ssnoversion-md] is 1433. However, your infrastructure team might configure custom ports.

[!INCLUDE ssnoversion-md] on Windows, including [!INCLUDE ssexpress-md] edition, can be configured as a named instance and might 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 [!INCLUDE ssnoversion-md], see SQL Server Configuration Manager.

Network protocol considerations

For [!INCLUDE ssnoversion-md] 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 [!INCLUDE ssnoversion-md] over a TCP/IP network, make sure that TCP/IP is enabled on the server as well. TCP/IP might be disabled by default on installations of [!INCLUDE ssnoversion-md]. For more information, see Default SQL Server Network Protocol Configuration.

Connections to Azure SQL services, [!INCLUDE ssnoversion-md] on Linux, and [!INCLUDE ssnoversion-md] in containers, all use TCP/IP.

For both [!INCLUDE ssazure-sqldb] and [!INCLUDE ssazuremi-md], 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 [!INCLUDE ssazure-sqldb] 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 an [!INCLUDE ssazuremi-md] in the same ways you connect to a SQL Server instance, see Connect your application to Azure SQL Managed Instance.

You can also configure a point-to-site connection to Azure SQL Managed Instance from on-premises or connect to Azure SQL Managed Instance from an Azure VM.

[!INCLUDE ssazuremi-md] can enforce a minimum Transport Layer Security (TLS) version for application connections. For more information, see Configure minimal TLS version in Azure SQL Managed Instance.

Connect to the Public IP address of the VM. For an example, see Connect to SQL Server on a Windows virtual machine in the Azure portal.


Connect to SQL Server

This section provides information on connecting to [!INCLUDE ssnoversion-md].

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 [!INCLUDE ssnoversion-md] 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 [!INCLUDE ssnoversion-md] 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 [!INCLUDE ssnoversion-md] Browser service is running on the server, and use one of the following options:

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

Run a Transact-SQL query

Once you connect successfully to the [!INCLUDE ssde-md] using a client tool, you can execute a [!INCLUDE tsql-md] (T-SQL) query or script.

Tip

In SQL Server Management Studio and Visual Studio Code, paste or type the query into a new query window.

For more information about running T-SQL queries in client tools, see:

Note

Some tools require a batch separator to know that a query is ready to be executed. For example, you might need to put the GO separator at the end of a T-SQL query in sqlcmd to make sure that the T-SQL query runs.

Get help

Related content