KB4016867 - 修正:xEvents 中 Query_hash 與 Query_hash_plan 欄位的資料型態與 DMV sys.dm_exec_requests 及 sys.dm_exec_query_stats 的資料型態不符

套用到
SQL 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)來監控快取查詢計畫時,要將快取查詢計畫關聯起來非常困難。

原因

此問題是因為 DMV 與 xEvents 之間的 Query_hash 與 Query_plan_hash 欄位資料類型不同。 Query_hashQuery_plan_hash欄位在 DMV (sys.dm_exec_requests 與 sys.dm_exec_query_stats) 中定義為變異資料型別。 在 xEvents 中,欄位定義為 UINT64 資料型態。

解決方式

SQL Server 服務包資訊

此更新已在以下 SQL Server 服務包中修正:

關於 SQL Server 服務包:

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 服務包:

SQL Server 2014 建置版本

最新 SQL Server 2012 服務包

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語