Applies ToSQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard

症状

在 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 用于描述软件更新的术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。