KB4460116 - 修正:使用預設基數估計器查詢包含許多 Null 值的資料表時,發生高估情況

Applies To
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症狀

假設您已安裝 Microsoft SQL Server 2014、2016 和 2017。 您有一個包含許多 Null 值的資料表資料行,並使用預設的基數估計值 (CE) 對該資料表執行查詢。 在此案例中,您可能會遇到高估篩選的情況,該篩選會將資料表欄與編譯時未知的值進行比較。

解決方式

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

SQL Server 2017 累積更新 13

適用於 SQL Server 2016 SP2 的累積更新 4

SQL Server 2016 SP1 的累積更新 12

SQL Server 2014 SP3 累積更新 1

SQL Server 2014 Service Pack 2 的累積更新 14

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含前一個組建中的所有 Hotfix 和安全性修正程式。 建議您安裝適用於您 SQL Server 版本的最新組建:

適用於 SQL Server 2017 的最新累積更新

適用於 SQL Server 2016 的最新累積更新

SQL Server 2014 的最新累積更新

狀態

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

參考資料

基數估計 (SQL Server)

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