使用 SQL Server Management Studio 进行连接
本文介绍如何使用以下产品和服务使用 SQL Server Management Studio 20 及更高版本连接到 SQL Server 数据库引擎:
- SQL Server
- Azure SQL 数据库
- Azure SQL 托管实例
- Azure Synapse Analytics
加密更改
SQL Server Management Studio (SSMS) 20 包括与连接加密相关的重要安全改进,并且包括许多更改。
- 加密连接 属性已重命名为 加密。
- 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 时,
屏幕截图中的文本显示类似于以下示例的错误:
无法连接到 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 | 选择连接的加密级别。 默认值为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 导入设置的工作站:
- 在 对象资源管理器中,选择 连接,或者选择 文件 > 新建 > 使用当前连接的查询。
- 在“连接到服务器”对话框中,选择要连接到的服务器。
- 查看为现有连接的 加密 和 信任服务器证书 选择的选项。 在某些情况下,可能需要配置签名证书或更改一个或两个属性的值。
- 如果之前已将 加密 设置为“强制 ”,并且 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 (SSMS) 在 Azure 虚拟机上连接和查询 SQL Server 实例
- 快速入门:使用 SQL Server Management Studio(SSMS) 连接和查询 Azure SQL 数据库或 Azure SQL 托管实例
- 快速入门:使用 SQL Server Management Studio(SSMS)在 Azure Synapse Analytics 中连接和查询专用 SQL 池(以前为 SQL DW)