连接到数据库引擎
本文简要概述了如何连接到以下产品和服务使用的 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 时,通常会排除协议。 有关详细信息,请参阅下一部分中的网络协议注意事项。 |
实例 | 服务器或实例的名称。 例如,MyServer 或 MyServer\MyInstance 。 |
localhost |
如果数据库引擎与客户端工具位于同一台计算机上,可以使用 localhost 、127.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 实例
如果要连接到配置了默认设置的服务器,请使用以下选项之一:
localhost
127.0.0.1
.
(一个句点)
如果要连接到自定义 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 实例
如果要连接到配置了默认 TCP 端口
1433
的服务器,请使用以下选项之一:tcp:MyServer
tcp:192.10.1.128
如果要连接到配置了自定义 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