Sign in with Microsoft
New to Microsoft? Create an account.

徵兆

當您使用 Microsoft SQL Server 2016 (或 2017) 的新實例,或是從舊版 SQL Server 升級的 SQL Server 2016 (或 2017) 實例時,您會遇到高 CPU 使用率的效能問題。 此外,如果您查詢sys.dm_os_spinlock_stats資料表,您會發現SECURITY_CACHE (安全性快取) 的微調資料行中有高值,而且CMED_HASH_SET中繼資料快取 (資料快取) 資料列 (資料表) 中的其他資料列相較。 例如,您會注意到下列值。

錯誤

原因

此問題發生的原因為高度並行系統中高旋轉鎖定的搜尋。 在這些作業系統中,多個 CPU 執行緒會競相資源,並且會在週期性地迴圈執行時長時間旋轉,以判斷資源是否可用而非立即收益。 當多個 CPU 線 程持續迴圈 (資源) 而非收益時,這會導致高 CPU 使用量和效能問題。

解決方案

這個問題已在下列SQL Server累積更新中修正:

附註: 在套用 SQL Server 2016 累積更新 2 (CU2) 之後,SECURITY_CACHECMED_HASH_SET名稱會分別變更為LOCK_RW_SECURITY_CACHELOCK_RW_CMED_HASH_SET。 套用 CU2 之後,值會如下所示。

更新

每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看SQL Server的最新累積更新:

SQL Server 2017 的最新累積更新

SQL Server 2016 的最新累積更新

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×