备注
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.0
SSMS 20.0 是 SSMS 的最新正式发布 (GA) 版本。 如果需要 SSMS 的早期版本,请参阅 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。
探查器
“探查器”菜单没有经过本地化。
当前没有替代项。
复制
如果 Azure SQL 托管实例是发布者,并且运行 SSMS 的计算机与发布者不在同一虚拟网络中,则将无法通过复制监视器插入跟踪令牌。
要插入跟踪令牌,请在与 Azure SQL 托管实例发布者位于同一虚拟网络的计算机上使用 SSMS 中的复制监视器。
Stretch Database
删除了延伸数据库向导。
使用 T-SQL 配置延伸数据库,或使用 SSMS 18.9.1 或更早版本以使用延伸数据库向导。
使用严格加密 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_enumerrorlogs 或 sys.xp_enumerrorlogs 来查看 SQL Server ERRORLOG 文件。
使用文件资源管理器查看日志文件夹中的 ERRORLOG 文件。
可参考 SQL 用户反馈 了解其他已知问题(在“组 ”下筛选“工具 ”),并向产品团队提供反馈。
SSMS 的早期版本
通过选择相关部分中的下载链接下载以前的 SSMS 版本。
SSMS 版本
生成号
发布日期
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 日
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 中的缺陷修复
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 的计算机与发布者不在同一 vNet 中,则无法通过复制监视器插入跟踪令牌。
若要插入跟踪令牌,请在与 Azure SQL 托管实例发布者位于同一 vNet 的计算机上使用 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 不能解决此问题,可以尝试下面的步骤来解决许多偶然的问题:
卸载 SSMS 的方式与卸载任何应用程序(使用”添加或删除程序”)的方式相同。
通过提升的 cmd 提示符卸载 Visual Studio 2015 IsoShell:
PUSHD "C:\ProgramData\Package Cache\FE948F0DAB52EB8CB5A740A77D8934B9E1A8E301\redist" vs_isoshell.exe /Uninstall /Force /PromptRestart
像卸载任何应用程序那样卸载 Microsoft Visual C++ 2015 可再发行组件。 如果计算机上有 x86 和 x64,则卸载它们。
通过提升的 cmd 提示符重装 Visual Studio 2015 IsoShell:
PUSHD "C:\ProgramData\Package Cache\FE948F0DAB52EB8CB5A740A77D8934B9E1A8E301\redist" vs_isoshell.exe /PromptRestart
重装 SSMS。
如果当前不是最新版本的话,则升级到最新版本的 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 功能失败,在不相关的对象上出错。 连接 ID 3103181
为现有数据库配置 Always Encrypted 功能时,多个架构无法正常运行。 连接 ID 3109591
由于数据库包含引用系统视图的视图,Always Encrypted、“已加密列”向导失败。 连接 ID 3111925
使用 Always Encrypted 功能进行加密时,错误地处理加密后刷新模块出现错误。
“打开最近的文件”菜单不显示最近保存的文件。 连接 ID 3113288
右键单击表的索引(通过远程 (Internet) 连接)时,SSMS 运行缓慢。 连接 ID 3114074
解决了 SQL 设计器滚动条的问题。 连接 ID 3114856
表的上下文菜单暂时停止响应。
SSMS 偶尔在活动监视器中引发异常和崩溃。 连接 ID 697527 。
SSMS 2016 崩溃,显示错误“由于在 IP 71AF8579 (71AE0000) 的 .NET 运行时出现内部错误,进程终止,退出代码 80131506”。