症状
使用动态管理视图 (DMV) sys.dm_exec_query_statistics_xml时,会发生访问冲突或断言。 此问题首先在 Microsoft SQL Server 2017 累积更新 26 和 Microsoft SQL Server 2019 累积更新 12 中修复。 作为修复的一部分,调用 DMV sys.dm_exec_query_statistics_xml 时,将从 Showplan XML 中删除 Runtime 参数值 (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 版本安装最新版本:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新 的术语 。