症狀
在Microsoft SQL Server中,當你嘗試透過擴展事件 (xEvents) 以及 DMV) (動態管理檢視(如 sys.dm_exec_requests 和 sys.dm_exec_query_stats)來監控快取查詢計畫時,要將快取查詢計畫關聯起來非常困難。
原因
此問題是因為 DMV 與 xEvents 之間的 Query_hash 與 Query_plan_hash 欄位資料類型不同。 Query_hash與Query_plan_hash欄位在 DMV (sys.dm_exec_requests 與 sys.dm_exec_query_stats) 中定義為變異資料型別。 在 xEvents 中,欄位定義為 UINT64 資料型態。
解決方式
SQL Server 服務包資訊
此更新已在以下 SQL Server 服務包中修正:
- Service Pack 3 for SQL Server 2014
- Service Pack 4 for SQL Server 2012
關於 SQL Server 服務包:
Service Pack 是累積性的。 每個新版 Service Pack 都包含前一版 Service Pack 中所有的修正程式,以及任何新增的修正程式。 我們的建議是套用該服務包的最新服務包及累積更新。 所以在安裝最新版的 Service Pack 之前,您不需要安裝前一版的 Service Pack。 請使用以下文章中的表1,查詢最新服務包及最新累積更新的更多資訊。
如何確定 SQL Server 及其元件的版本、版本與更新等級
安裝此更新後,會新增兩個定義為 INT64 資料類型的欄位: Query_hash_signed 和 Query_plan_hash_signed。 這些系統讓 DMV 與 xEvents ((如 rpc_completed 和 sql_batch_completed) )之間的資料連結變得更容易。
關於 SQL Server 建置
每次 SQL Server 更新都包含了上一次更新中包含的所有熱修正和安全修正。 請參考最新的 SQL Server 服務包:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。