KB2940348 - 修正:在 SQL Server 2014 中,原生編譯預存程序的 DMVs sys.dm_exec_procedure_stats和sys.dm_exec_query_stats中的背景工作時間報告不正確

Applies To
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

當您使用 Microsoft SQL Server 2014 時,可能會遇到 SQL Server 2014 版本資訊中下列相關的問題:

原生編譯的預存程序的程序和查詢執行統計資料會以 1000 的倍數記錄背景工作時間
問題:針對使用 sp_xtp_control_proc_exec_stats 或 sp_xtp_control_query_exec_stats 的原生編譯預存程序啟用程序或查詢執行統計資料收集收集之後,您會在 DMVs sys.dm_exec_procedure_stats和sys.dm_exec_query_stats中看到以 1000 的倍數回報的 *_worker_time。 背景工作時間小於 500 微秒的查詢執行會報告為worker_time為 0。

原因

發生此問題的原因是,用來檢視 CPU 時間的 API 的精確度上限為毫秒,而且無法用來以微秒精確度檢視 CPU 時間。

解決方式

套用修正程式之後,背景工作時間會以微秒為單位報告,且該數字不再四捨五入為 1000 的倍數。
此問題已先在下列 SQL Server 累積更新中修正。

SQL Server 2014 累積更新 1 /zh-tw/help/2931693

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

狀態

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