Symptomen
Neem als voorbeeld het volgende scenario:
- U gebruikt een configuratie voor kardinaliteitsschatting (CE) die overeenkomt met databasecompatibiliteitsniveau 120 of een hoger niveau voor uw Microsoft SQL Server 2016- en 2017-systeem.
- U voert een query uit die een zoekpredikaat bevat.
- Met de query wordt gezocht naar waarden die kleiner zijn dan of gelijk zijn aan een getal dat kleiner is dan de minimumwaarde van RANGE_HI_KEY dat is opgeslagen in het statistische object. Of met de query wordt voor dezelfde statistieken gezocht naar waarden die groter zijn dan de maximumwaarde van RANGE_HI_KEY.
In dit scenario overschat het query-optimalisatieprogramma het aantal rijen. Hierdoor kan de keuze van het queryplan minder dan optimaal zijn en kunnen de prestaties slecht zijn.
Oplossing
De oplossing voor dit probleem is opgenomen in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 6 voor SQL Server 2017
Cumulatieve update 8 voor SQL Server 2016 SP1
Cumulatieve update 2 voor SQL Server 2016
Opmerking Nadat u deze update hebt geïnstalleerd, moet u traceringsvlag 4199 inschakelen om deze oplossing in te schakelen. Als u traceringsvlag 4199 wilt inschakelen, raadpleegt u het onderwerp Traceringsvlaggen (Transact-SQL) op de website van Microsoft Developer Network (MSDN).
Informatie over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2017
Meest recente cumulatieve update voor SQL Server 2016
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.