Symptomen
Ervan uitgaan dat u een query uitvoert waarbij een join of aggregatie is betrokken voor een kolom die wordt bedekt met één kolom en meerdere kolommen statistieken (waarin deze kolom niet de voorste kolom is). Als u werkt met standaard Cardinality huizenprijs taxatie (CE) in SQL Server 2016, kan dit underestimate-nummer zijn afzonderlijke rijen. Dit leidt tot een suboptimale queryuitvoering van een abonnement (bijvoorbeeld: lage schatting kan onvoldoende geheugen verlenen voor een hash-operator, waardoor de query overlopen naar TempDB).
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve update voor SQL Server:
Opmerking Om deze correctie van kracht te laten worden, moet u de hotfixes voor de query Optimizer inschakelen met behulp van de traceringsvlag (TF) 4199 of de bijbehorende configuratie van het bereik of de query hint.
Over cumulatieve updates voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Workaround
Dit probleem kan worden opgelost door de volgende query-Hint toe te voegen:
WERKT HINT (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Verwijzingen
Lees meer over de terminologie die door Microsoft wordt gebruikt om software-updates te beschrijven.