KB5017788 - 修复:使用 DMV sys.dm_exec_query_statistics_xml时,Showplan XML 中缺少 ParameterRuntimeValue

应用对象
SQL Server 2017 on Windows SQL Server 2017 on Linux SQL Server 2019 on Windows SQL Server 2019 on Linux

症状

使用动态管理视图 (DMV) sys.dm_exec_query_statistics_xml时发生访问冲突或断言。 此问题首先在 Microsoft SQL Server 2017 的累积更新 26 和 Microsoft SQL Server 2019 的累积更新 12 中修复。 作为修复的一部分,在调用 DMV sys.dm_exec_query_statistics_xml时,将从显示计划 XML 中删除运行时参数值 (ParameterRuntimeValue) 。

使用 DMV sys.dm_exec_query_statistics_xml 对长时间运行的查询进行故障排除时,有时必须在查询完成前获取特定存储过程或查询的 ParameterRuntimeValue 值。 我们在此修补程序中 (TF) 2446 添加了新的全局跟踪标志。 这样可以收集运行时参数值,但会产生额外的开销。

警告

TF 2446 并不意味着在生产环境中持续启用,而仅用于有时间限制的故障排除目的。 使用此跟踪标志将引入额外的(可能)巨大的 CPU 和内存开销,因为无论是否调用 DMV sys.dm_exec_query_statistics_xml ,我们都将使用运行时参数信息创建一个 Showplan XML 片段。

解决方法

此问题已在 SQL Server 的以下累积更新中修复:

关于 SQL Server 的累积更新

SQL Server 的每个新累积更新都包含先前内部版本中的所有修补程序和安全修补程序。 我们建议您安装 SQL Server 的最新版本:

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语。