SQL Server Management Studio (SSMS) 发行说明

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics

本文提供有关 SSMS 的当前和以前版本的更新、改进和 bug 修复的详细信息。

注意

2021 年 12 月,18.6 之前的 SSMS 版本将不再通过 Microsoft Entra 多重身份验证 (MFA) 对数据库引擎进行身份验证。 若要继续使用 MFA,需要 SSMS 18.6 或更高版本

若要通过 Microsoft Entra 多重身份验证连接 Azure Analysis Services,需要安装 SSMS 18.5.1 或更高版本

当前 SSMS 版本

下载 SQL Server Management Studio (SSMS) 20.1

SSMS 20.1 是 SSMS 的最新正式发布 (GA) 版本。 如果需要 SSMS 的早期版本,请参阅 SSMS 的早期版本

20.1

下载 SSMS 20.1

  • 版本号:20.1
  • 生成号:20.1.10.0
  • 发布日期:2024 年 4 月 9 日

可用语言:

20.1 中的新增功能

Feature 详细信息
驱动程序 更新了 SSMS 以使用 MSODBCSQL.MSI (17.10.6.1) 和 MSOLEDBSQL.MSI (18.7.2) 的最新驱动程序版本。 包含这些新版本可能需要拥有旧版本驱动程序的用户在安装 SSMS 20.1 后重新启动。 有关详细信息,请查看 Microsoft ODBC 驱动程序Microsoft OLE DB 驱动程序的发行说明。
驱动程序 已将 Microsoft.Data.SqlClient 版本从 5.1.4 更新到 5.1.5。
Libraries 已将服务器管理对象 (SMO) 版本更新为 171.31.0。
Libraries 已将 Microsoft Visual C++ 可再发行程序包版本 14.38.33135.0。 包含这些新版本可能需要拥有旧版本驱动程序的用户在安装 SSMS 20.1 后重新启动。
“对象资源管理器” 更新了对象资源管理器,以在图形边缘约束连接中显示以架构为前缀的表单名称。

20.1 中的缺陷修复

Feature 详细信息
维护计划 解决了在对话框中选中“文件和文件组”单选按钮后“备份数据库任务”对话框关闭的问题。
SqlParser 使用 EXTERNAL PROVIDER 时,增加了对 CREATE LOGIN T-SQL 语法的 DEFAULT_DATABASE 选项的支持。
SqlParser 增加了对 CREATE TRIGGER T-SQL 语法的 NATIVE_COMPILATION 和 SCHEMABINDING 选项的支持。

20.1 的已知问题

Feature 详细信息 解决方法
Analysis Services 使用 Microsoft Entra MFA 连接到 Analysis Services 时,如果添加新角色或打开角色属性,则会显示消息“未正确获取添加到角色的用户身份”。 此错误是良性的,可以忽略。 该问题已在 Azure 基础架构中得到解决,并且无需更新 SSMS。
Analysis Services 添加新角色或打开现有角色的属性后,不能使用“按名称或电子邮件地址搜索”来添加用户。 可以使用“手动输入”选项添加用户。
数据库设计器 选择视图的“设计”选项(该视图使用了空间数据来引用表)会导致 SSMS 故障。 使用 T-SQL 来更改视图。
数据库镜像 如果从镜像节点启动数据库镜像监视器时,不会列出主节点。 从数据库镜像监视注册镜像节点,或使用 SSMS 18.12.1 从镜像节点进行监视。
常规 SSMS 无法从 SSMS 17 选项导入设置。 可以从 SSMS 18 导入设置。
Azure SQL 托管实例的链接功能 移除 SQL Server 上的现有镜像端点证书后,由于 SQL Server 和 Azure SQL 托管实例之间未建立信任,通过向导创建链接可能会失败,即使所有检查都成功也是如此。 使用 PowerShell 命令 Get-AzSqlInstanceServerTrustCertificate 检查 Azure SQL 托管实例中是否存在名为 <SQL_Server_Instance_Name> 的 SQL Server 镜像端点证书。 如果存在,请使用 PowerShell 命令 Remove-AzSqlInstanceServerTrustCertificate 在尝试创建新的链接创建之前将其移除。
链接服务器 创建到 Azure SQL 数据库的链接服务器,并选择 SQL Server 作为连接到 master 数据库的服务器类型。 若要创建 Azure SQL 数据库的链接服务器,请选择服务器类型的其他数据源,然后选择 Microsoft OLE DB Provider for SQL Server 或 Microsoft OLE DB Driver for SQL Server 作为提供程序。 在“数据源”字段中输入逻辑服务器名称,并在“目录”字段中输入数据库名称。
PolyBase 连接到 SQL Server 2022 (16.x) 时,PolyBase 节点在对象资源管理器中不可见。 使用 SSMS 18.12.1。
探查器 “探查器”菜单没有经过本地化。 当前没有替代项。
查询存储报表 在“配置”中选择备用“指标和执行”选项时,“跟踪查询”报表不会更新。 使用 SSMS 19.x。
复制 如果 Azure SQL 托管实例是发布者,并且运行 SSMS 的计算机与发布者不在同一虚拟网络中,则将无法通过复制监视器插入跟踪令牌。 要插入跟踪令牌,请在与 Azure SQL 托管实例发布者位于同一虚拟网络的计算机上使用 SSMS 中的复制监视器。
SSIS 在 SQL 代理作业中创建或修改 SSIS 作业步骤时,会收到错误“已成功建立与服务器的连接,但在登录过程中发生错误。 (提供程序:SSL 提供程序,错误:0 - 证书链由不受信任的颁发机构颁发。(框架 Microsoft SqlClient 数据提供程序)”,无论是否为加密属性选择了“可选”或“必需”。 使用 SSMS 19.3 创建或修改 SSIS 作业步骤。
Stretch Database 删除了延伸数据库向导。 使用 T-SQL 配置延伸数据库,或使用 SSMS 18.9.1 或更早版本以使用延伸数据库向导。

有关使用 SSMS 20.x 和严格加密的已知问题,请参阅在 20.0 中使用严格加密的已知问题

可参考 SQL 用户反馈了解其他已知问题(在“”下筛选“工具”),并向产品团队提供反馈。

SSMS 的早期版本

通过选择相关部分中的下载链接下载以前的 SSMS 版本。

SSMS 版本 生成号 发布日期
20.0 20.0.70.0 2024 年 3 月 19 日
19.3 19.3.4.0 2024 年 1 月 10 日
18.12.1 15.0.18420.0 2022 年 6 月 21 日
17.9.1 14.0.17289.0 2018 年 11 月 21 日
16.5.3 13.0.16106.4 2017 年 1 月 30 日

20.0

下载 SSMS 20.0

  • 版本号:20.0
  • 生成号:20.0.70.0
  • 发布日期:2024 年 3 月 19 日

可用语言:

20.0 中的新增功能

Feature 详细信息
连接 连接安全属性“加密”和“信任服务器证书”现在存在于“连接”对话框的主登录页面上,以便更轻松地访问。 有关更多信息,请参阅连接 SQL Server Management Studio
连接 与“严格(SQL Server 2022 和 Azure SQL)”和“强制加密”选项一起使用的新属性“证书中的主机名”现已存在于“连接”对话框中的登录页面中。
连接 在“查询编辑器”状态栏中添加了图标,以指示用于连接的加密方法。
连接 已向“新建登录”向导添加了 Microsoft Entra ID 身份验证。
驱动程序 已将 Microsoft.Data.SqlClient 版本更新为 5.1.4,其中包含对严格加密和传输层安全性 (TLS) 1.3 的支持。
Libraries 已将服务器管理对象 (SMO) 版本更新为 171.30.0
Libraries 已将 DacFx 版本更新为 162.1.x。
选项 在“连接安全性”下的“工具 > 选项 > SQL Server 对象资源管理器 > 命令”中引入了一个新选项“信任导入连接的服务器证书”。 有关更多信息,请参阅选项(SQL Server 对象资源管理器 – 命令)

20.0 中的缺陷修复

Feature 详细信息
Always Encrypted “新建列主密钥”对话框支持使用角色权限进行授权的 Azure Key Vault。
连接 解决了尝试连接到 Azure 存储时 SSMS 崩溃的问题,因为用户无权访问存储帐户中的任何容器。
连接 修复了用户在启用“信任服务器证书”的情况下无法更改其密码的问题。
Azure SQL 托管实例的链接功能 改进了对导入和删除证书的处理。
Azure SQL 托管实例的链接功能 解决了链接向导中与文本和图像相关的问题。
安全性 解决了 OpenSSL 库的 CVE-2023-2975 漏洞。

20.0 的已知问题

Feature 详细信息 解决方法
Analysis Services 使用 Microsoft Entra MFA 连接到 Analysis Services 时,如果添加新角色或打开角色属性,则会显示消息“未正确获取添加到角色的用户身份”。 此错误是良性的,可以忽略。 该问题已在 Azure 基础架构中得到解决,并且无需更新 SSMS。
Analysis Services 添加新角色或打开现有角色的属性后,不能使用“按名称或电子邮件地址搜索”来添加用户。 可以使用“手动输入”选项添加用户。
数据库设计器 选择视图的“设计”选项(该视图使用了空间数据来引用表)会导致 SSMS 故障。 使用 T-SQL 来更改视图。
数据库镜像 如果从镜像节点启动数据库镜像监视器时,不会列出主节点。 从数据库镜像监视注册镜像节点,或使用 SSMS 18.12.1 从镜像节点进行监视。
常规 SSMS 无法从 SSMS 17 选项导入设置。 可以从 SSMS 18 导入设置。
Azure SQL 托管实例的链接功能 移除 SQL Server 上的现有镜像端点证书后,由于 SQL Server 和 Azure SQL 托管实例之间未建立信任,通过向导创建链接可能会失败,即使所有检查都成功也是如此。 使用 PowerShell 命令 Get-AzSqlInstanceServerTrustCertificate 检查 Azure SQL 托管实例中是否存在名为 <SQL_Server_Instance_Name> 的 SQL Server 镜像端点证书。 如果存在,请使用 PowerShell 命令 Remove-AzSqlInstanceServerTrustCertificate 在尝试创建新的链接创建之前将其移除。
链接服务器 创建到 Azure SQL 数据库的链接服务器,并选择 SQL Server 作为连接到 master 数据库的服务器类型。 若要创建 Azure SQL 数据库的链接服务器,请选择服务器类型的其他数据源,然后选择 Microsoft OLE DB Provider for SQL Server 或 Microsoft OLE DB Driver for SQL Server 作为提供程序。 在“数据源”字段中输入逻辑服务器名称,并在“目录”字段中输入数据库名称。
维护计划 在“备份数据库任务”中选择“文件和文件组”单选按钮会导致对话框意外关闭。 当前没有替代项。
PolyBase 连接到 SQL Server 2022 (16.x) 时,PolyBase 节点在对象资源管理器中不可见。 使用 SSMS 18.12.1。
探查器 “探查器”菜单没有经过本地化。 当前没有替代项。
查询存储报表 在“配置”中选择备用“指标和执行”选项时,“跟踪查询”报表不会更新。 使用 SSMS 19.x。
复制 如果 Azure SQL 托管实例是发布者,并且运行 SSMS 的计算机与发布者不在同一虚拟网络中,则将无法通过复制监视器插入跟踪令牌。 要插入跟踪令牌,请在与 Azure SQL 托管实例发布者位于同一虚拟网络的计算机上使用 SSMS 中的复制监视器。
SSIS 在 SQL 代理作业中创建或修改 SSIS 作业步骤时,会收到错误“已成功建立与服务器的连接,但在登录过程中发生错误。 (提供程序:SSL 提供程序,错误:0 - 证书链由不受信任的颁发机构颁发。(框架 Microsoft SqlClient 数据提供程序)”,无论是否为加密属性选择了“可选”或“必需”。 使用 SSMS 19.3 创建或修改 SSIS 作业步骤。
Stretch Database 删除了延伸数据库向导。 使用 T-SQL 配置延伸数据库,或使用 SSMS 18.9.1 或更早版本以使用延伸数据库向导。

使用 SSMS 20.0 中的严格加密的已知问题

Feature 详细信息 解决方法
连接 使用“强制严格加密”配置 SQL Server 时,从服务器或数据库菜单中选择“Azure Data Studio > 新建查询”会生成错误“已成功与服务器建立连接,但在登录前握手期间发生错误。 (提供程序:TCP 提供程序,错误:0 – 远程主机强行关闭了现有连接。)” 更新连接,以对 Azure Data Studio 中的“加密”属性使用“严格”而不是“强制”,然后连接。
连接 连接到选择了“严格(SQL 2022 和 Azure SQL)”进行加密的 SQL Server 和非 TCP/IP 网络协议时,会生成错误“无法连接到 SERVERNAME。 已成功与服务器建立连接,但是在预登录握手期间发生错误。 (提供程序:共享内存提供程序,错误:15 – 不支持函数)(Microsoft SQL Server,错误:50 – 不支持该请求)” 更改“网络协议”连接属性以使用 TCP/IP,或为 SQL Server 启用 TCP/IP 协议。
数据库优化顾问 使用“强制严格加密”配置 SQL Server 时,不支持从数据库优化顾问连接到服务器。 没有替代选择。
维护计划 使用“严格(SQL Server 2022 和 Azure SQL)”加密连接到服务器时,修改现有维护计划会生成错误“无法连接到 SERVERNAME。 (Microsoft.SqlServer.ConnectionInfo) 已成功与服务器建立连接,但在登录过程中发生错误。 (提供程序:SSL 提供程序,错误 0 – 目标主体名称不正确。)” 使用“强制”或“可选”加密进行连接时,不会发生此问题。
探查器 使用“强制严格加密”配置 SQL Server 时,不支持从探查器连接到服务器,并且会生成错误“无法连接到 SERVERNAME。 未注册类 (pfutil)”。 安装 MSOLEDBSQL 版本 19,可从 下载 Microsoft OLE DB Driver for SQL Server 中获取。
探查器 连接到具有“严格(SQL Server 2022 和 Azure SQL)”加密并安装了 MSOLEDBSQL 版本 19 的服务器时,无法将跟踪保存到数据库表或从中加载跟踪。 没有替代选择。
PowerShell 连接到具有“严格(SQL Server 2022 和 Azure SQL)”加密的服务器时,从对象资源管理器节点中选择“启动 Powershell”会生成错误“SQL Server PowerShell 提供程序错误:无法连接到 SERVERNAME。 [无法连接到服务器 SERVERNAME。 --> 已成功与服务器建立连接,但是在登录前握手期间发生错误。 (提供程序:TCP 提供程序,错误:0 – 远程主机强行关闭了现有连接。)--> 远程主机强行关闭了现有连接]”。 当前没有替代项。
SQL Server 日志 使用“强制严格加密”配置 SQL Server 时,无法通过对象资源管理器,也无法通过查询编辑器执行 master.dbo.sp_enumerrorlogssys.xp_enumerrorlogs 来查看 SQL Server ERRORLOG 文件。 使用文件资源管理器查看日志文件夹中的 ERRORLOG 文件。

19.3

下载 SSMS 19.3

  • 版本号:19.3
  • 生成号:19.3.4.0
  • 发布日期:2024 年 1 月 10 日

可用语言:

19.3 中的新增功能

Feature 详细信息
Azure Data Studio 安装集成 安装 SSMS 时,会安装 Azure Data Studio 1.47.1。

19.3 中的缺陷修复

Feature 详细信息
可访问性 解决了屏幕阅读器在数据库属性对话框中宣布不完整或不正确信息的问题。
Always Encrypted 修复了在使用 SSMS 的非英语安装创建新 Azure SQL 数据库时无法更改“启用安全 Enclave”选项的问题。
可用性组 更改了可用性组仪表板中主服务器名称的文本颜色,这导致该项显示为空。
扩展事件 更改了为 ring_buffer 目标选择“查看目标数据”后的数据列文本颜色。
安装程序 修复了即使安装了当前版本也可能提示用户更新 SQL Server Management Studio 的问题,请参阅 19.2.56.2 更新版本检测中的错误
“对象资源管理器” 解决了在树仍在扩展时尝试关闭对象资源管理器时发生崩溃的问题。
报表 更新了服务器仪表板报告,以便在可用的计划员数量超过 255 个时正确显示计划员的数量,请参阅 SSMS 19.2 - 报告 - 服务器仪表板 - 实例使用的处理器 - 数量错误
安全性 更新到 Microsoft.Data.SqlClient 3.1.5 以解决 CVE-2024-0056

19.3 的已知问题

Feature 详细信息 解决方法
Analysis Services 使用 Microsoft Entra MFA 连接到 Analysis Services 时,如果添加新角色或打开角色属性,则会显示消息“未正确获取添加到角色的用户身份”。 此错误是良性的,可以忽略。 该问题很快就会在 Azure 基础架构中得到解决,并且无需更新 SSMS。
Analysis Services 添加新角色或打开现有角色的属性后,不能使用“按名称或电子邮件地址搜索”来添加用户。 可以使用“手动输入”选项添加用户。
数据库设计器 如果选择使用空间数据引用表的视图的“设计”选项,会导致 SSMS 故障。 使用 T-SQL 来更改视图。
数据库镜像 从镜像节点启动数据库镜像监视器时,不会列出主节点。 如果需要从镜像节点监控镜像,请使用 SSMS 18.12.1。
常规 SSMS 无法从 SSMS 17 选项导入设置。 可以从 SSMS 18 导入设置。
Azure SQL 托管实例的链接功能 移除 SQL Server 上的现有镜像端点证书后,由于 SQL Server 和 Azure SQL 托管实例之间未建立信任,通过向导创建链接可能会失败,即使所有检查都成功也是如此。 使用 PowerShell 命令 Get-AzSqlInstanceServerTrustCertificate 检查 Azure SQL 托管实例中是否存在名为“<SQL_Server_Instance_Name>”的 SQL Server 镜像端点证书。 如果存在,请使用 PowerShell 命令 Remove-AzSqlInstanceServerTrustCertificate 在尝试创建新的链接创建之前将其移除。
链接服务器 创建到 Azure SQL 数据库的链接服务器,并选择 SQL Server 作为连接到 master 数据库的服务器类型。 若要创建 Azure SQL 数据库的链接服务器,请选择服务器类型的其他数据源,然后选择 Microsoft OLE DB Provider for SQL Server 或 Microsoft OLE DB Driver for SQL Server 作为提供程序。 在“数据源”字段中输入逻辑服务器名称,并在“目录”字段中输入数据库名称。
PolyBase 连接到 SQL 2022 时,PolyBase 节点在对象资源管理器中不可见。 使用 SSMS 18.12.1。
探查器 “探查器”菜单没有经过本地化。 当前没有替代项。
复制 如果 Azure SQL 托管实例是发布者,并且运行 SSMS 的计算机与发布者不在同一虚拟网络中,则将无法通过复制监视器插入跟踪令牌。 要插入跟踪令牌,请在与 Azure SQL 托管实例发布者位于同一虚拟网络的计算机上使用 SSMS 中的复制监视器。
Stretch DB 删除了 Stretch DB 向导。 使用 T-SQL 配置 Stretch DB,或使用 SSMS 18.9.1 或更早版本使用 Stretch DB 向导。

18.12.1

下载 SSMS 18.12.1

  • 版本号:18.12.1
  • 生成号:15.0.18424.0
  • 发布日期:2022 年 6 月 21 日

可用语言:

18.12.1 中的新增功能

新项 详细信息
Azure Data Studio 安装集成 安装 SSMS 时,会安装 Azure Data Studio 1.37。

18.12.1 中的 bug 修复

新项 详细信息
Always Encrypted 修复了使用 Azure Key Vault 作为密钥存储时,创建列主密钥产生异常的问题。
数据分类 修复了在升级到 SSMS 18.10 或更高版本后“无法加载文件或程序集 'Microsoft.Information.Protection', Version=1.10.98.0”的问题。 请参阅最新 SSMS 18.11.1 破坏了数据分类。更新后出现缺少程序集的错误
SSMS 常规错误 解决了在 Azure SQL DB 中通过 MFA 使用“部署数据层应用程序”选项进行 dacpac 部署时出现的相关错误。

17.9.1

下载 SSMS 17.9.1

  • 版本号:17.9.1
  • 生成号:14.0.17289.0
  • 发行日期:2018 年 11 月 21 日

可用语言:

17.9.1 中的新增功能

SQL Server 实用工具在 17.x 及更新版本中不再可用。

17.9.1 中的 bug 修复

  • 修复了在使用带有 SQL 查询编辑器的“Azure Active Directory - 通用且具有 MFA 支持”身份验证时,用户可能会遇到关闭连接并在每次查询调用时重新打开连接的问题。 关闭连接的副作用包括意外删除全局临时表,有时还会向连接提供新的会话 ID (SPID)。
  • 修复了一个长期未解决的问题,即还原计划无法找到还原计划,或在某些情况下生成低效的还原计划。
  • 修复了“导入数据层应用程序”向导中的问题,该问题在连接到 Azure SQL 数据库时可能出现错误。

注意

如果安装在以下平台中,非英语本地化版本的 SSMS 17.x 需要 KB 2862966 安全更新程序包:Windows 8、Windows 7、Windows Server 2012 和 Windows Server 2008 R2。

卸载并重装 SSMS 17.x

如果安装 SSMS 时遇到问题,并且标准的卸载和重装无法解决问题,可以先尝试下修复 Visual Studio 2015 IsoShell。 如果修复 Visual Studio 2015 IsoShell 不能解决此问题,可以尝试下面的步骤来解决许多偶然的问题:

  1. 卸载 SSMS 的方式与卸载任何应用程序(使用”添加或删除程序”)的方式相同。

  2. 通过提升的 cmd 提示符卸载 Visual Studio 2015 IsoShell:

    PUSHD "C:\ProgramData\Package Cache\FE948F0DAB52EB8CB5A740A77D8934B9E1A8E301\redist"
    vs_isoshell.exe /Uninstall /Force /PromptRestart
    
  3. 像卸载任何应用程序那样卸载 Microsoft Visual C++ 2015 可再发行组件。 如果计算机上有 x86 和 x64,则卸载它们。

  4. 通过提升的 cmd 提示符重装 Visual Studio 2015 IsoShell:

    PUSHD "C:\ProgramData\Package Cache\FE948F0DAB52EB8CB5A740A77D8934B9E1A8E301\redist"
    vs_isoshell.exe /PromptRestart
    
  5. 重装 SSMS。

  6. 如果当前不是最新版本的话,则升级到最新版本的 Visual C++ 2015 可再发行组件

16.5.3

下载 SSMS 16.5.3

  • 版本号:16.5.3
  • 生成号:13.0.16106.4
  • 发行日期:2017 年 1 月 30 日

可用语言:

16.5.3 中的 bug 修复

  • 修复了 SSMS 16.5.2 中引入的问题,即当表具有多个稀疏列时,导致“表”节点扩展。

  • 用户可以部署包含 OData 连接管理器的 SQL Server Integration Services (SSIS) 包,这些包连接到 SSIS 目录的 Microsoft Dynamics AX/CRM 在线资源。 有关详细信息,请参阅 OData 连接管理器

  • 为现有表配置 Always Encrypted 功能失败,在不相关的对象上出错。

  • 为现有数据库配置 Always Encrypted 功能时,多个架构无法正常运行。

  • 由于数据库包含引用系统视图的视图,Always Encrypted、“已加密列”向导失败。

  • 使用 Always Encrypted 功能进行加密时,错误地处理加密后刷新模块出现错误。

  • “打开最近的文件”菜单不显示最近保存的文件。

  • 右键单击表的索引(通过远程 (Internet) 连接)时,SSMS 运行缓慢。

  • 解决了 SQL 设计器滚动条的问题。

  • 表的上下文菜单暂时停止响应。

  • SSMS 偶尔在活动监视器中引发异常和崩溃。

  • SSMS 崩溃,显示错误“由于在 IP 71AF8579 (71AE0000) 的 .NET 运行时出现内部错误,进程终止,退出代码 80131506”。

更多下载

有关所有 SQL Server Management Studio 下载的列表,请搜索 Microsoft 下载中心

有关最新版本 SQL Server Management Studio 的信息,请参阅下载 SQL Server Management Studio (SSMS)