Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

請試想下列案例:

  • 您有一個資料表,其中有聚集列序索引,且資料表有許多資料行(在成百上千)。

  • 這些資料行的資料(資料類型)是高度可壓縮的資料(例如Varchar)。

  • 您可以針對此資料表執行 SELECT 語句來選取此資料表中的大型子集或所有資料行。

  • 您的 select 語句有一個 WHERE 子句,可將它的輸出限制為非常少的資料列(查詢是極具選擇性的)。

在這種情況下,您可能會遇到下列任何一個或所有的問題:

  • 併發工作負荷(在伺服器上與此查詢同時執行的其他查詢)可能會降低效能並降低輸送量。

  • 您可能會看到 [間歇性高 CPU 使用量]。

  • 如果您查詢 sys.dm_os_ring_buffers並查看 SchedulerMonitor 類型專案,您會發現在執行此查詢期間記錄了間歇性的「未產生排程」訊息。

  • 您可能會在錯誤記錄中收到無法取得的排程程式錯誤,而且可能會產生故障記憶儲存體轉儲檔案。

解決方案

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

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 我們建議您下載並安裝最新的 SQL Server 累積更新:

其他相關資訊

修正詳細資料處理欄區段的工作流程(將其解壓縮,並針對符合資格的列進行掃描),用於在輸出特定閾值的列數時,將 CPU 使用量「產生」到其他工作人員/併發查詢執行。 當WHERE 子句為產生幾個資料列的極高選擇性時,處理此查詢的工作流程會處理未壓縮和大量的區段(因為只有極少的列資格),才能讓其他工人處理其工作。 這會導致 CPU 使用量不規律,以及併發工作負載的輸送量下降。 修正程式會針對此類列查詢優化並改善 CPU 共用演算法。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×