连接到数据库引擎

本文简要概述了如何连接到以下产品和服务使用的 SQL Server 数据库引擎:

  • SQL Server
  • Azure SQL Database
  • Azure SQL 托管实例
  • Analytics Platform System (PDW)
  • Azure Synapse Analytics
  • Azure SQL Edge

先决条件

使用客户端工具或客户端库连接到数据库引擎。 客户端工具在图形用户界面 (GUI) 或命令行接口 (CLI) 中运行。

下表介绍了一些更常见的客户端工具。

客户端工具 类型 操作系统
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

注意

客户端工具至少包含一个客户端库。 有关通过客户端库进行连接的详细信息,请参阅 Microsoft SQL 数据库的连接模块

连接选项

连接到数据库引擎时,必须提供实例名称(即安装数据库引擎的服务器或实例)、网络协议和连接端口,格式如下:

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

协议和端口是可选的,因为它们具有默认值。 根据客户端工具和客户端库,可能会跳过。

注意

如果使用自定义 TCP 端口连接到数据库引擎,则必须用逗号 (,) 将其分隔,因为冒号 (:) 用于指定协议。

设置 默认 详细信息
协议 tcp (TCP/IP)、np(命名管道)或 lpc(共享内存)。 np 是连接到 SQL Server 时的默认值。

tcp 是连接到 Azure SQL 服务时的默认值。
协议是可选的,当连接到与客户端工具位于同一计算机上的 SQL Server 时,通常会排除协议。

有关详细信息,请参阅下一部分中的网络协议注意事项
实例 服务器或实例的名称。 例如,MyServerMyServer\MyInstance localhost 如果数据库引擎与客户端工具位于同一台计算机上,可以使用 localhost127.0.0.1 甚至 .(一个句点)进行连接。

如果要连接到命名实例,则必须指定服务器名称和实例名称,以斜杠分隔。 例如,MyServer\MyInstance。 可以由 .\MyInstance 指定本地计算机上的命名实例。 SQL Server Express 使用 MyServer\SQLEXPRESS
端口 任意 TCP 端口。 1433 用于连接到 SQL Server 的默认实例的默认 TCP 端口为 1433。 但是,基础结构团队可能会配置自定义端口。

Windows 上的 SQL Server(包括 SQL Server Express 版本)可以配置为命名实例,也可以具有自定义端口。

若要连接到 Azure SQL 服务,请参阅连接到 Azure SQL 部分。

有关 SQL Server 的自定义端口的详细信息,请参阅 SQL Server 配置管理器

网络协议注意事项

对于 Windows 上的 SQL Server,当连接到与客户端工具位于同一计算机上的实例时,根据安装的版本,可以使用多个协议配置默认协议,包括命名管道 (np)、TCP/IP (tcp) 和共享内存 (lpc)。 如果怀疑其他协议配置有误,请使用 Shared Memory 协议进行故障排除。

如果通过 TCP/IP 网络连接到 SQL Server,请确保该服务器上也启用了 TCP/IP。 在 SQL Server 安装中,TCP/IP 默认情况下可能被禁用。 有关详细信息,请参阅默认 SQL Server 网络协议配置

连接到 Azure SQL 服务、Linux 上的 SQL Server 和容器中的 SQL Server 时,均使用 TCP/IP。

对于 Azure SQL 数据库和 Azure SQL 托管实例,请参阅连接和查询文章

连接 Azure SQL

此部分提供有关连接到 Azure SQL 服务的信息。

若要从 Azure 门户快速连接并查询 Azure SQL 数据库,请使用适用于 Azure SQL 数据库的 Azure 门户查询编辑器

对于外部连接,请注意默认安全的 Azure SQL 数据库数据库级防火墙

应用程序连接的示例如下:

连接到 SQL Server

此部分提供有关连接到 SQL Server 的信息。

连接到与客户端位于同一台计算机上的 SQL Server

可以使用命名管道 (np)、共享内存 (lpc) 或 TCP/IP (tcp) 连接到本地计算机。 共享内存是最快的,因为它不使用网络接口。

注意

如果使用 IP 地址作为实例名称,但未指定 tcp,则如果是已配置的协议,该协议默认为 np(命名管道)。

命名实例具有动态分配的 TCP 端口。 如果要连接到命名实例,SQL Server Browser 服务必须在服务器上运行。

连接到同一台计算机上的默认 SQL Server 实例

  1. 如果要连接到配置了默认设置的服务器,请使用以下选项之一:

    • localhost
    • 127.0.0.1
    • .(一个句点)
  2. 如果要连接到自定义 TCP 端口,例如 51433,请使用以下选项之一:

    • tcp:localhost,51433
    • 127.0.0.1,1433

连接到同一台计算机上的 SQL Server 命名实例

在本示例中,命名实例名为 MyInstance。 确保 SQL Server Browser 服务正在运行,并使用以下选项之一:

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

连接到网络上的 SQL Server

可以使用服务器名称或 IP 地址进行连接。 在本示例中,服务器名称 MyServer 解析为 192.10.1.128

使用命名管道连接到网络上的默认 SQL Server 实例

若要使用命名管道连接到本地网络上的服务器,请使用以下选项之一:

  • MyServer
  • np:MyServer

注意

在局域网上,使用 TCP/IP 进行连接的速度可能比使用命名管道更快。

使用 TCP/IP 连接到网络上的默认 SQL Server 实例

  1. 如果要连接到配置了默认 TCP 端口 1433 的服务器,请使用以下选项之一:

    • tcp:MyServer
    • tcp:192.10.1.128
  2. 如果要连接到配置了自定义 TCP 端口(例如 51433)的服务器,请使用以下选项之一:

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

使用 TCP/IP 连接到网络上的 SQL Server 命名实例

在本示例中,命名实例名为 MyInstance。 确保 SQL Server Browser 服务正在服务器上运行,并使用以下选项之一:

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

获取帮助