本文简要概述了如何连接到以下产品和服务使用的 SQL Server 数据库引擎:
- SQL Server
- Azure SQL 数据库
- Azure SQL 托管实例
- 分析平台系统 (PDW)
- Azure Synapse Analytics
先决条件
使用客户端工具或客户端库连接到数据库引擎。 客户端工具在图形用户界面 (GUI) 或命令行接口 (CLI) 中运行。
下表介绍了一些更常见的客户端工具。
客户端工具 | 类型 | 操作系统 |
---|---|---|
SQL Server Management Studio (SSMS) | 图形用户界面 | Windows操作系统 |
适用于 Visual Studio Code 的 MSSQL 扩展 | 图形用户界面 | Windows、macOS、Linux |
sqlcmd | 命令行界面 (CLI) | Windows、macOS、Linux |
bcp | 命令行界面 (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 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
运行 Transact-SQL 查询
使用客户端工具成功连接到数据库引擎后,可以执行 Transact-SQL(T-SQL)查询或脚本。
提示
在 SQL Server Management Studio 和 Visual Studio Code 中,将查询粘贴或键入到新的查询窗口中。
有关在客户端工具中运行 T-SQL 查询的详细信息,请参阅:
- SQL Server Management Studio (SSMS)
- 快速入门:借助 Visual Studio Code 的 MSSQL 扩展,连接到并查询数据库
- sqlcmd 实用工具
- 适用于 Azure SQL 数据库的 Azure 门户查询编辑器
- 使用 SQL 查询编辑器
查询
注意
某些工具需要 批分隔符 知道查询已准备好执行。 例如,可能需要在 sqlcmd GO
中将 分隔符放在 T-SQL 查询的末尾,以确保 T-SQL 查询运行。