使用 SQL Server Management Studio 进行连接
本文介绍如何使用以下产品和服务使用 SQL Server Management Studio 20 及更高版本连接到 SQL Server 数据库引擎:
- SQL Server
- Azure SQL Database
- Azure SQL 托管实例
- Azure Synapse Analytics
加密更改
SQL Server Management Studio (SSMS) 20 包括与连接加密相关的重要安全改进,并且包括许多更改。
- Encrypt 连接 属性已重命名为 Encryption。
- True(已选中或启用加密连接选项)的值现在映射到“强制加密”。
- False(未选中或禁用的加密连接选项)的值现在映射到“可选加密”。
- 加密属性现在默认设置为“必需”。
- Encryption 属性包括新选项 Strict(SQL Server 2022 和 Azure SQL),该选项在早期版本的 SSMS 中不可用。
此外,加密和信任服务器证书属性已移动到“连接安全性”下的“登录”页。 此外,还添加了新选项“ 证书中的主机名”。 最佳做法是支持与服务器的受信任加密连接。
若要加密连接,必须使用受信任的根证书颁发机构签名的 TLS 证书配置 SQL Server 数据库引擎。
对于连接到Azure SQL 数据库和Azure SQL 托管实例的用户,应更新最近使用(MRU)列表中的现有连接,以使用严格(SQL Server 2022 和 Azure SQL)加密。 与Azure SQL 数据库和Azure SQL 托管实例的任何新连接都应使用严格(SQL Server 2022 和 Azure SQL)加密。 Azure SQL 数据库和Azure SQL 托管实例支持加密连接,并使用受信任的证书进行配置。
选择了 Strict(SQL Server 2022 和 Azure SQL) 加密后, 信任服务器证书 选项不可用。
选中 “强制 加密”,并且 启用了“信任服务器证书 ”(已选中), 证书 选项中的主机名不可用。
对于连接到虚拟机中的本地 SQL Server 或 SQL Server 的用户,必须将数据库引擎配置为支持加密连接。 有关完整说明,请参阅将 SQL Server 数据库引擎配置为使用加密连接。
如果数据库引擎已启用强制加密或强制严格加密,请确保具有来自受信任证书颁发机构的证书。 有关详细信息,请参阅 SQL Server 的证书要求。 如果没有来自受信任的证书颁发机构的证书,并且尝试连接,则会看到以下错误:
屏幕截图中的文本显示类似于以下示例的错误:
无法连接到 MyServer
已成功与服务器建立连接,但在登录过程中发生错误。 (提供程序:SSL 提供程序,错误: 0 - > 证书链是由不受信任的颁发机构颁发的。(Microsoft SQL Server,错误: -2146893019)有关帮助,请单击:
https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver--2146893019-database-engine-error
证书链是由不受信任的颁发机构颁发的
有关详细信息,请参阅 连接到 SQL Server 时出现“从远程服务器收到的证书是由不受信任的证书颁发机构颁发的”错误。
SQL Server Management Studio 20 及更高版本中的新连接
对于具有新安装的 SSMS 的工作站,或者在添加新连接时:
- 在对象资源管理器中选择“连接”,或使用当前连接文件>新建>查询。
- 在 “连接到服务器 ”对话框中,设置服务器的连接详细信息。
连接详细信息说明
下表描述了连接详细信息。
设置 | 说明 |
---|---|
服务器名称 | 在此处输入服务器名称。 例如,MyServer 或 MyServer\MyInstance 。localhost |
身份验证 | 选择要使用的身份验证类型。 |
用户名 | 输入要进行身份验证的用户名。 如果为身份验证类型选择了 Windows 身份验证,则会自动填充用户名。 使用 Microsoft Entra MFA 时,用户名可以留空。 |
密码 | 输入用户的密码(如果可用)。 密码字段不适用于特定 身份验证 类型。 |
*加密 1 | 选择连接的加密级别。 默认值为“强制”。 |
信任服务器证书 | 选中此选项以绕过服务器证书验证。 默认值为 False(未选中),使用受信任的证书提高安全性。 |
证书中的主机名 | 此选项中提供的值用于在 SSMS 连接到的服务器证书中指定不同的、但预期的 CN 或 SAN。 此选项可以留空,以便证书验证可确保证书中的公用名(CN)或使用者备用名称(SAN)与要连接到的服务器名称匹配。 当服务器名称与 CN 或 SAN 不相符时(例如使用 DNS 别名时),可以填充此参数。 有关详细信息,请参阅 Microsoft.Data.SqlClient 中的加密和证书验证。 |
1 用户选择的值表示所需的最小加密级别。 SSMS 与 SQL 引擎(通过驱动程序)协商以确定使用的加密,并且可以使用其他(但更安全)级别的加密建立连接。 例如,如果为“加密”选项选择“可选”,并且服务器已启用“强制加密”和“受信任的证书”,则连接将加密。
升级到 SQL Server Management Studio 20 后的连接
在 SQL Server Management Studio 20 的初始启动期间,系统会提示从早期版本的 SSMS 导入设置。 如果选择 “从 SSMS 19 导入” 或 “从 SSMS 18 导入”,则最近使用的连接列表将从所选版本的 SSMS 导入。
对于从 SSMS 18 或 SSMS 19 导入设置的工作站:
- 在对象资源管理器中选择“连接”,或使用当前连接文件>新建>查询。
- 在 “连接到服务器 ”对话框中,选择要连接到的服务器。
- 查看为现有连接选择的 加密 和 信任服务器证书 的选项。 在某些情况下,可能需要配置签名证书或更改一个或两个属性的值。
- 如果以前已将 加密 设置为 “必需”连接,并且 SQL Server 未启用加密连接或没有签名证书,系统会提示你启用 “信任服务器证书 ”选项:
- 如果选择“是”, 则会为连接启用信任服务器证书 。 还可以为从旧版 SSMS 导入的所有连接启用 信任服务器证书 。
- 如果选择“否”, 则不会启用信任服务器证书 ,并且无法连接。 查看配置以验证是否已安装有效的服务器证书。
有关详细信息,请参阅将 SQL Server 数据库引擎配置为使用加密连接。
注解
这些更改是在 Microsoft.Data.SqlClient 驱动程序级别进行更新导致的结果。 Microsoft.Data.SqlClient 的最新版本提高了连接选项的安全性。 有关详细信息,请参阅 Microsoft.Data.SqlClient 命名空间简介。
相关内容
- 快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例
- 快速入门:使用 SQL Server Management Studio 在 Azure 虚拟机上连接和查询 SQL Server 实例(SSMS)
- 快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 Azure SQL 数据库或 Azure SQL 托管实例
- 快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 Azure Synapse Analytics 中的专用 SQL 池(以前称为 SQL DW)