发布日期:2026 年 9 月 15 日
版本:16.0.4295.3
摘要
本文介绍了 Microsoft SQL Server 2022 的累积更新程序包 27 (CU27)。 此更新包含 SQL Server 2022 累积更新 26 发布后发布的 42 个修补程序。 它更新了以下版本中的组件:
- SQL Server - 产品版本:16.0.4295.3,文件版本:2022.160.4295.3
- Analysis Services - 产品版本:16.0.43.252,文件版本:2022.160.43.252
重要
若要帮助保护 Windows 上的 SQL Server,请使用扩展保护启用加密。
此更新中的已知问题
并行计划中 SESSION_CONTEXT 的错误行为
在并行查询计划中运行时,使用内置 SESSION_CONTEXT 函数的查询可能会返回不正确的结果,或者触发访问冲突 (AV) 转储文件。 出现此问题的原因在于 SESSION_CONTEXT 与并行执行线程交互的方式,尤其是在重置会话以供重复使用时。
有关详细信息,请参阅中“SESSION_CONTEXT已知问题”部分。
使用 MSDASQL 的链接服务器查询会失败,并返回错误 7416
使用 MSDASQL(适用于 ODBC 驱动程序的 OLE DB 提供程序)提供程序并指定提供程序字符串 (@provstr) 的链接服务器查询将会失败,并返回以下错误消息:
消息 7416,级别 16
被拒绝访问远程服务器,因为不存在登录映射。
数据库引擎中的更严格连接验证检查可能会拒绝使用 MSDASQL 提供程序的某些链接服务器配置的连接,即使早期版本允许这些连接也是如此。
有关详细信息和解决方法,请参阅使用 MSDASQL 的链接服务器查询失败,并返回错误 7416。
数据库恢复期间查询 sys.dm_exec_requests 时发生访问冲突
如果针对 sys.dm_exec_requests 的查询在数据库仍在恢复期间运行,则可能会引发访问冲突并生成转储文件。 此问题可能发生在数据库 RESTORE 操作期间、启动恢复期间,或可用性组副本完成联机之前。
SQL Server 错误日志包含类似于以下文本的条目:
The database '<DatabaseName>' is marked RESTORING and is in a state that does not allow recovery to be run.
***Stack Dump being sent to <SQLServerLogFolder>\SQLDump0215.txt
SqlDumpExceptionHandler: Process 77 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
*******************************************************************************
BEGIN STACK DUMP:
07/30/26 07:37:23 spid 77
Exception Address = <frame id="00" address="0x7FFDED94970D" pdb="sqlmin.pdb" age="2" guid="E1039014-237E-4DB6-88FD-4A2AB31C651F" module="sqlmin" rva="0x2970D" />
Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
Access Violation occurred reading address 00000000000000F0
Input Buffer <size> bytes -
<dbo.sp_YourMonitoringStoredProcedure>
发生此问题的原因是发生更改,导致在完全初始化内部内存中结构之前引用这些结构。
Microsoft 已知悉此问题且正在调查修补程序。 在修补程序可用之前,请使用以下缓解措施之一:
- 启用跟踪标志 4696 以选择退出导致此问题的代码更改。 如果启用此跟踪标志,则在次要副本上查询
sys.dm_exec_requests或sys.sysprocesses的监视查询可能会像安装此更新之前那样返回错误 976 或错误 978。 - 避免针对正在恢复的数据库的
sys.dm_exec_requests进行查询。 - 卸载此更新。
某些 Master Data Services 功能可能无法按预期工作
安装此更新后,以下Master Data Services (MDS) 功能可能无法加载或按预期工作:
- 创建实体
- 创建属性
- 在资源管理器中加载层次结构
Microsoft 已知悉此问题且正在调查修补程序。
此更新中的改进和修复
提供了一个可下载的 Microsoft Excel 工作簿,其中包含生成摘要列表及其当前支持生命周期。 Excel 文件还包含适用于 SQL Server 2022、SQL Server 2019 和 SQL Server 2017 的详细修补程序列表。 立即下载此 Excel 文件。
注意
可以通过书签直接引用下表中的各个条目。 如果在表中选择任何 bug 引用 ID,系统会使用“#NNNNNNN”格式将书签标记添加到 URL。 然后,你可以与他人共享此 URL,以便他们直接跳转到表中所需的修复。
有关修复的 bug 和此累积更新中包含的增强功能的详细信息,请参阅下表。
| Bug 参考 | 说明 | 修复区域 | 组件 | 平台 |
|---|---|---|---|---|
| 2796714 | 修复了一个罕见的问题,即如果禁用了加速数据库恢复 (ADR),则回滚用户事务会导致数据库损坏,而 DBCC CHECKDB 会将这种损坏报告为页面可用空间 (PFS) 页面错误。 |
SQL Server 引擎 | 存储管理 | 全部 |
| 4929823 | 修复了以下问题:在使用卷影复制服务 (VSS) 和 WITH MOVE 还原数据库时,如果服务器包含数百个数据库,则会需要很长时间或超时。 |
SQL Server 引擎 | 备份还原 | Windows |
| 5126055 | 修复了以下问题:如果用户的显示名称包含系统默认代码页不支持的日文汉字或其他 Unicode 字符,则创建数据库用户将会失败并返回字符映射或令牌错误。 | SQL Server 引擎 | 安全基础结构 | Windows |
| 5383380 | 修复了影响备份到 Microsoft Azure 的 SQL Server 托管备份存储过程 managed_backup.sp_get_encryption_option 和 managed_backup.sp_do_backup 的漏洞。 使用托管备份的客户应通过标准 SQL Server 服务流程应用此更新。 |
SQL Server 引擎 | 管理服务 | 全部 |
| 5421858 | 修复了当 Linux 上的 SQL Server 处理异常时,在中断传递期间发生的与时序相关的争用条件。 | SQL Server 引擎 | Linux | Linux |
| 5434228 | 改进了 SQL Server VSS 编写器处理的备份元数据的验证,以便安全地拒绝格式错误或大小过小的元数据。 | SQL Server 引擎 | 备份还原 | Windows |
| 5442243 | 改进了 SQL Server 代理加载任务代理组件时的安全验证。 | SQL Server 引擎 | SQL 代理 | Windows |
| 5456077 | 提高了 SQL Server 代理处理某些输入时的可靠性和安全性。 | SQL Server 引擎 | 管理服务 | 全部 |
| 5459626 | 修复了 SQL Server WMI 提供程序无法正确处理格式错误的输入的问题,同时保留了针对有效输入的现有行为。 | SQL Server 客户端工具 | SQL Server WMI 提供程序 | Windows |
| 5462844 | 修复了处理使用 Microsoft Entra 身份验证的登录请求时出现的安全漏洞。 | SQL Server 引擎 | 安全基础结构 | 全部 |
| 5473595 | 修复了以下问题:如果用户的显示名称包含系统默认代码页不支持的日文汉字或其他 Unicode 字符,则使用该 WITH OBJECT_ID 选项从 Microsoft Entra ID 创建数据库用户将会失败。 |
SQL Server 引擎 | 安全基础结构 | Windows |
| 5478465 | 修复了次要副本无法加入名称由 64 个字符组成且群集类型为 NONE 或 EXTERNAL 的可用性组的问题。 |
SQL Server 引擎 | 高可用性和灾难恢复 | 全部 |
| 5481778 | 修复了在某些操作条件下影响 SQL Server 代理的安全性和可靠性的问题。 | SQL Server 引擎 | 管理服务 | 全部 |
| 5482772 | 修复了 SUBSTRING 函数在本机编译的存储过程中处理格式错误的 DBCS varchar 值时,读取范围超出分配的缓冲区的问题。 |
SQL Server 引擎 | 内存中 OLTP | 全部 |
| 5482827 | 修复了一个会导致以下情况的访问冲突:如果在本机编译的存储过程中,按变体选择器敏感(_VSS)排序规则转换或截断一个包含表意变体序列的 nvarchar 值,SQL Server 进程会意外结束。 |
SQL Server 引擎 | 内存中 OLTP | 全部 |
| 5482833 | 修复了以下问题:如果在本机编译的存储过程中,按变体选择器敏感(_VSS)排序规则流式处理 nvarchar(max) 数据,则会导致堆缓冲区覆盖或导致服务器停止响应。 当 TEXTSIZE 设置会截断数据且使用的表格格式数据流 (TDS) 数据包较小时,便会出现此问题。 |
SQL Server 引擎 | 内存中 OLTP | 全部 |
| 5487409 | 改进了在外部数据访问期间对 S3 兼容型外部存储终结点响应的验证。 | SQL Server 引擎 | PolyBase | 全部 |
| 5494968 | 修复了以下问题:如果使用修改后的命令行参数启动 PolyBase 服务,则会为 DW 引擎以及 DMS 控制通道和数据通道打开原始 TCP 侦听器。 | SQL Server 引擎 | PolyBase | 全部 |
| 5495398 | 修复了处理 xml 数据类型的 DTD 属性列表时出现的问题。 |
SQL Server 引擎 | XML | 全部 |
| 5495725 | 修复了查询包含极大的 OPTION (USE PLAN) XML 声明时发生的访问冲突。 该问题可能导致 SQL Server 进程意外终止。 |
SQL Server 引擎 | XML | 全部 |
| 5496454 | 修复了 LEFT_SHIFT 和 RIGHT_SHIFT 函数在处理特殊设计的移位值或二进制输入时发生的算术溢出和越界内存访问问题。 该问题可能导致 SQL Server 进程意外终止。 |
SQL Server 引擎 | 可编程性 | 全部 |
| 5496499 | 改进了 SQL Server 处理和输出某些内部事件数据的方式,以帮助更好地保护信息。 | SQL Server 引擎 | 可编程性 | 全部 |
| 5498913 | 修复了 SQL Server 中的一个安全问题:扩展事件中的验证不足可能导致内存损坏。 | SQL Server 引擎 | 扩展事件 | 全部 |
| 5499855 | 修复了在数据库引擎读取特殊设计的扩展事件 (.xel) 文件时允许信息泄漏或拒绝服务的几个安全漏洞。 | SQL Server 引擎 | 扩展事件 | 全部 |
| 5499869 | 修复了在通过 OPENROWSET(BULK ...) 或 BULK INSERT 处理特殊设计的 XML 格式文件时 XML 读取器中发生的整数溢出问题。 此活动可能导致 SQL Server 进程停止响应或意外终止。 |
SQL Server 引擎 | XML | 全部 |
| 5504497 | 修复了无法在 SCHEMA_OBJECT_ACCESS_GROUP 审核操作组生成的审核记录中一致填充 data_sensitivity_information 字段的问题。 此修复可确保所有适用的审核记录中都可靠地包含敏感度信息。 |
SQL Server 引擎 | 安全基础结构 | 全部 |
| 5505127 | 修复了飞地代码中的类 ID 查找会读取任意内存的问题。 | SQL Server 引擎 | 安全基础结构 | Windows |
| 5505432 | 为由 sys.sp_describe_parameter_encryption 分析的嵌入式证明字段添加了边界验证。 |
SQL Server 引擎 | 安全基础结构 | Windows |
| 5505445 | 改进了对象存储格式 (OSF) 反序列化,以防范格式错误或恶意的流数据。 | SQL Server 引擎 | 安全基础结构 | Windows |
| 5505476 | 改进了飞地代码中的缓冲区长度验证。 | SQL Server 引擎 | 安全基础结构 | Windows |
| 5505598 | 修复了 SQL Server 中的一个输入验证不当的问题,该问题允许经过身份验证的用户泄露少量内存。 此修补程序加强了输入验证。 | SQL Server 引擎 | 查询优化器 | 全部 |
| 5506056 | 修复了 SQL Server 中的一个输入验证不当的问题,该问题允许经过身份验证的用户泄露内存中的信息。 此修补程序加强了输入验证。 | SQL Server 引擎 | 查询优化器 | 全部 |
| 5506116 | 修复了 SQL Server 中的一个输入验证不当的问题:经过身份验证的用户可提供一个指针,而 SQL Server 会解引用并读取该指针,但不会执行。 此问题可能导致生成转储文件,或导致内存不足的情况。 此修补程序加强了输入验证。 | SQL Server 引擎 | 查询优化器 | 全部 |
| 5529156 | 修复了 SqlDataRecord.SetBytes API 中针对 sql_variant 值的字段偏移验证不当的问题;若启用了 CLR 集成,该问题可能导致越界堆写入。 |
SQL Server 引擎 | 可编程性 | Windows |
| 5529195 | 改进了对 Showplan 输入的处理,以增强安全性和可靠性。 | SQL Server 引擎 | 查询存储 | Windows |
| 5529339 | 改进了在处理操作期间对内部复制数据的保护。 | SQL Server 引擎 | 复制 | 全部 |
| 5529351 | 改进合并复制中的文本数据处理,以增强安全性和可靠性。 | SQL Server 引擎 | 复制 | 全部 |
| 5529363 | 改进了复制操作的验证和处理,以增强安全性和可靠性。 | SQL Server 引擎 | 复制 | 全部 |
| 5529375 | 改进了事务复制中排队更新订阅的安全性和可靠性。 | SQL Server 引擎 | 复制 | Windows |
| 5529387 | 改进了事务复制中排队更新订阅的安全性和可靠性。 | SQL Server 引擎 | 复制 | Windows |
| 5558709 | 修复了以下问题:在托管了一个或多个包含式可用性组的实例上,从 SQL Server 2019 到 SQL Server 2022 的升级会在 replicated_model 数据库升级阶段停止响应。 |
SQL Server 引擎 | 可编程性 | 全部 |
| 5650423 | 为托管实例链接添加多数据库链接模式。 可以使用此模式将包含多个数据库的现有 Always On 可用性组从 SQL Server 扩展到 Azure SQL 托管实例,并将这些数据库一起复制和故障转移。 | SQL Server 引擎 | 高可用性和灾难恢复 | 全部 |
如何获取或下载这一或最新的累积更新程序包
如何获取或下载适用于 Windows 的最新累积更新程序包(推荐)
可以从 Microsoft 下载中心下载以下更新:
立即下载 SQL Server 2022 的最新累积更新程序包
注意
- Microsoft 下载中心始终提供最新的 SQL Server 2022 CU 版本。
- 如果未显示下载页,请联系 Microsoft 客户服务和支持部门来获取累积更新程序包。
如何从 Microsoft 更新目录获取或下载此适用于 Windows 的累积更新程序包
你可以从 Microsoft 更新目录获取以下更新:
注意
- Microsoft 更新目录包含此 SQL Server 2022 CU 和以前发布的 SQL Server 2022 CU 版本。
- 此外,Windows Server Update Services (WSUS) 中也提供了此 CU。
- 建议始终安装可用的最新累积更新。
如何获取或下载适用于 Linux 的最新累积更新程序包
要将 Linux 上的 SQL Server 2022 更新到最新的 CU,必须先配置累积更新存储库。 然后,使用适当的特定于平台的更新命令更新 SQL Server 程序包。
有关安装说明和指向 CU 包下载的直接链接,请参阅 SQL Server 2022 发行说明。
文件信息
文件哈希信息
你可以通过以下命令计算 SQLServer2022-KB5104824-x64.exe 文件的哈希,以验证下载:
certutil -hashfile SQLServer2022-KB5104824-x64.exe SHA256
| 文件名 | SHA256 哈希 |
|---|---|
| SQLServer2022-KB5104824-x64.exe | 675E3CEDD6C7A3D0FFBE713E46E54A86A92AF7B96CA4A6BEB987AE99C79B96F5 |
累积更新程序包文件信息
此更新注意事项
先决条件
你必须运行的是 SQL Server 2022,才能应用此累积更新程序包。
重启信息
应用此累积更新程序包后,可能必须重启计算机。
注册表信息
若要使用此程序包中的某个修补程序,你不必对注册表进行任何更改。
重要通知
本文还提供了以下重要信息。
Analysis Services CU 内部版本
从 Microsoft SQL Server 2017 开始,Analysis Services 内部版本号和 SQL Server 数据库引擎内部版本号不匹配。 有关详细信息,请参阅验证 Analysis Services 累积更新内部版本。
累积更新 (CU)
- 每个新的 CU 都包含前一个 CU 中针对所安装的 SQL Server 版本的所有修补程序。
- SQL Server CU 的认证级别与服务包相同,你可以放心安装。
- 我们建议根据以下准则,持续主动地在 CU 发布后进行安装:
- 历史数据表明,很多支持案例都涉及已发布累积更新中已解决的问题。
- CU 包含的附加价值可能高于修补程序。 包括支持能力、可管理性和可靠性更新。
- 建议先对 SQL Server CU 进行测试,然后再将其部署到生产环境。
混合环境部署
如果要将一个更新部署到混合环境(例如 AlwaysOn、复制、群集和镜像),建议在部署该程序包之前参阅以下文章:
-
注意
如果不想使用滚动更新过程,请按照以下步骤应用更新:
- 在被动节点上安装更新。
- 在主动节点上安装更新(需要重启服务)。
-
注意
如果将 Always On 与 SSISDB 目录一起启用,请参阅有关搭配使用 SSIS 和 Always On 的信息,了解如何在这些环境中应用更新。
语言支持
SQL Server CU 目前提供多语言版本。 因此,此 CU 程序包并非专门针对一种语言。 它适用于所有支持语言。
更新的组件(功能)
一个 CU 程序包包括所有 SQL Server 2022 组件(功能)的所有可用更新。 但是,累积更新程序包仅更新当前安装在你选择要维护的 SQL Server 实例上的组件。 如果某个 SQL Server 功能(例如 Analysis Services)是在应用此 CU 后添加到相应实例的,则必须重新应用此 CU,才能将这一新功能更新到此 CU 的版本。
针对此更新的支持
如果发生其他问题或需要进行任何疑难解答,你可能需要创建服务请求。 对于其他支持问题和此特定累积更新程序包无法解决的事项,将照常收取支持费用。 若要获取 Microsoft 客户服务和支持部门的完整电话号码列表,或创建单独的服务请求,请转到 Microsoft 支持网站。
如何卸载此更新
如何在 Windows 上卸载此更新
- 在控制面板中,打开“程序和功能”项,然后选择“查看已安装的更新”。
- 在 SQL Server 2022 下找到与此累积更新程序包对应的条目。
- 按住(或右键单击)该条目,然后选择“卸载”。
如何在 Linux上卸载此更新
要在 Linux 上卸载此 CU,您必须将程序包回滚到以前的版本。 有关如何回滚安装的详细信息,请参阅回滚 SQL Server。