Symptomen
Neem als voorbeeld het volgende scenario:
- U hebt een query die een predicaat bevat met een geparametriseerde scalaire door de gebruiker gedefinieerde functie.
- Er zijn meerdere combinaties van invoerparameterwaarden die hetzelfde resultaat kunnen opleveren met deze door de gebruiker gedefinieerde functie.
- SQL Server gebruikt de nieuwe kardinaliteitsschatting waarin de compatibiliteitsmodus voor databases is ingesteld op 120.
In dit scenario worden de prestaties van de query slecht geschat vanwege een onjuist geschat aantal rijen voor het predicaat waarin de door de gebruiker gedefinieerde functie in het queryplan is opgenomen.
Oplossing
Dit probleem is voor het eerst opgelost in de volgende cumulatieve update voor SQL Server:
Cumulatieve update 6 voor SQL Server 2014 Service Pack 1
Nadat u dit cumulatieve updatepakket hebt geïnstalleerd, moet u traceringsvlag 4199 inschakelen. Hiervoor kunt u de opstartparameter -T4199 toevoegen. U kunt de instructie dbcc traceon(4199) ook gebruiken voor een specifieke sessie.
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 2014
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.