KB4460116 – OPRAVA: Nadhodnocení při použití výchozího nástroje Cardinality Estimator k dotazování tabulky s mnoha hodnotami null

Platí pro
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

Příznaky

Předpokládejme, že máte nainstalovaný systém Microsoft SQL Server 2014, 2016 a 2017. Máte sloupec tabulky, který obsahuje mnoho hodnot null, a spustíte dotaz na tuto tabulku pomocí výchozího nástroje pro odhad mohutnosti. V tomto scénáři může dojít k nadhodnocení ve filtru, který porovnává sloupec tabulky s hodnotou, která není v době kompilace neznámá.

Řešení

Tento problém je opravený v následujících aktualizacích pro SQL Server:

Kumulativní aktualizace 13 pro SQL Server 2017

Kumulativní aktualizace 4 pro SQL Server 2016 SP2

Kumulativní aktualizace 12 pro SQL Server 2016 SP1

Kumulativní aktualizace 1 pro SQL Server 2014 SP3

Kumulativní aktualizace 14 pro SQL Server 2014 Service Pack 2

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Odhad mohutnosti (SQL Server)

Přečtěte si o terminologii , kterou společnost Microsoft používá k popisování aktualizací softwaru.