使用 SQL Server Management Studio 进行连接

本文介绍如何使用以下产品和服务使用 SQL Server Management Studio 20 及更高版本连接到 SQL Server 数据库引擎:

  • SQL Server
  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Microsoft Fabric 中的 SQL 数据库
  • 仓库
  • SQL 分析端点
  • Azure Synapse Analytics

加密更改

SQL Server Management Studio (SSMS) 20 包括与连接加密相关的重要安全改进,并且包括许多更改。

  • Encrypt 连接属性已重命名为 Encryption
  • 对于“加密”,True 值(选中或启用了“加密连接”选项)现在映射到“强制”。
  • 对于“加密”,False 值(取消选中或禁用了“加密连接”选项)现在映射到“可选”。
  • 默认情况下,加密 属性现在设置为 强制
  • 加密 属性包括一个新选项,严格(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 托管实例支持加密连接,并配置了受信任的证书。

选中 严格(SQL Server 2022 和 Azure SQL) 加密后,信任服务器证书 选项不可用。

选中 强制加密 和启用 信任服务器证书(已选中)后,选项中的 主机名不可用。

对于连接到虚拟机中的本地 SQL Server 或 SQL Server 的用户,必须将数据库引擎配置为支持加密连接。 有关完整说明,请参阅 通过导入证书加密到 SQL Server 的连接

如果数据库引擎已启用 强制加密强制严格加密,请确保具有受信任的证书颁发机构的证书。 有关详细信息,请参阅 SQL Server 证书要求。 如果没有来自受信任的证书颁发机构的证书,并且尝试连接,则会看到以下错误:

连接到不具有受信任证书颁发机构证书的 SQL Server 时,错误消息的屏幕截图。

屏幕截图中的文本显示类似于以下示例的错误:

Cannot connect to MyServer

A connection was successfully established with the server, but then an error occurred during the login process.
(provider: SSL Provider, error: 0 - > The certificate chain was issued by an authority that is not trusted.)
(Microsoft SQL Server, Error: -2146893019)
For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver--2146893019-database-engine-error

The certificate chain was issued by an authority that is not trusted

有关详细信息,请参阅 连接到 SQL Server时出现“从远程服务器收到的证书是由不受信任的证书颁发机构颁发的”错误。

SQL Server Management Studio 20 及更高版本中的新连接

对于具有新安装的 SSMS 的工作站,或者在添加新连接时:

  1. 对象资源管理器中选择“连接”,或使用当前连接>>查询。
  2. 在“连接到服务器”对话框中,设置服务器的连接详细信息。

连接详情描述

下表描述了连接详细信息。

设置 描述
服务器名称 在此处输入服务器名称。 例如,MyServerMyServer\MyInstancelocalhost
身份验证 选择要使用的身份验证类型。
用户名 输入要进行身份验证的用户名。 如果选择 Windows 身份验证 作为 身份验证 类型,则用户名会自动填充。 使用 Microsoft Entra MFA 时,用户名可以留空。
密码 输入用户的密码(如果可用)。 密码字段不适用于特定 身份验证 类型。
加密1 选择连接的加密级别。 默认值为Mandatory
信任服务器证书 选中此选项可绕过服务器证书验证。 默认值为 False(未选中),这将使用受信任的证书提升更好的安全性。
证书中的主机名 此选项中提供的值用于在 SSMS 连接到的服务器的服务器证书中指定不同但期望的 CN 或 SAN。 此选项可以留空,以便证书验证确保证书中的公用名(CN)或使用者可选名称(SAN)与要连接到的服务器名称匹配。 例如,使用 DNS 别名时,服务器名称与 CN 或 SAN 不匹配时,可以填充此参数。 有关详细信息,请参阅 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 导入了设置的工作站:

  1. 对象资源管理器中选择“连接”,或使用当前连接>>查询。
  2. 在“连接到服务器”对话框中,选择要连接到的服务器。
  3. 查看为现有连接的 加密信任服务器证书 选择的选项。 在某些情况下,可能需要配置签名证书或更改一个或两个属性的值。
  4. 如果之前已将 加密 设置为“强制 ,并且 SQL Server 未启用加密连接或没有签名证书,系统会提示你启用 信任服务器证书 选项:

提示请求为连接启用“信任服务器证书”的屏幕截图。

  1. 如果选择“是”,连接将启用 信任服务器证书。 还可以为从旧版 SSMS 导入的所有连接启用 信任服务器证书
  2. 如果选择否,则 未启用信任服务器证书,并且无法连接。 查看配置以验证是否已安装有效的服务器证书。

有关详细信息,请参阅 通过导入证书加密到 SQL Server 的连接

言论

这些更改是在 Microsoft.Data.SqlClient 中的驱动程序级别更新的结果。 Microsoft.Data.SqlClient 的最新版本提高了连接选项的安全性。 有关详细信息,请参阅 Microsoft.Data.SqlClient 命名空间简介。