KB4016867-修复: xEvents 中的 Query_hash 和 Query_hash_plan 列的数据类型与 Dmv sys.dm_exec_requests 和 sys.dm_exec_query_stats 中的数据类型不匹配

症状

在 Microsoft SQL Server 中,当你尝试使用扩展事件(xEvents)和动态管理视图(Dmv)(如 sys.dm_exec_requests 和 sys.dm_exec_query_stats)监视 缓存的查询计划 时,很难将缓存的查询计划关联在一起。

原因

出现此问题的原因是 Query_hashQuery_plan_hash 列的数据类型在 dmv 和 xEvents 之间有所不同。 Query_hashQuery_plan_hash列在 dmv (sys.dm_exec_requests 和 sys.dm_exec_query_stats)中定义为Varbinary数据类型。 在 xEvents 中,列定义为 UINT64 数据类型。

解决方案

SQL Server 的 Service pack 信息

此更新在 SQL Server 的以下 service pack 中已修复:

Service Pack 具有累积性。 每个新 Service Pack 除了包含所有新修复程序外,还包含以前 Service Pack 中的所有修复程序。 我们建议为该服务包应用最新的服务包和最新的累积更新。 在安装最新的 Service Pack 之前,不需要安装以前的 Service Pack。 使用以下文章中的表1查找有关最新服务包和最新累积更新的详细信息。

如何确定 SQL Server 及其组件的版本、版本和更新级别

安装此更新后, 将添加另一个 定义为 INT64 数据类型的列: Query_hash_signedQuery_plan_hash_signed。这使在 Dmv 和 xEvents 之间加入数据变得更加容易(如 rpc_completedsql_batch_completed)。

SQL Server 的每个新更新均包含以前更新中附带的所有修补程序和所有安全修补程序。 查看最新的 SQL Server 服务包:

SQL Server 2014 内部版本

SQL Server 2012 的最新 service pack

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×