Symptomen
De logica voor de schatting van de kardinaliteit die bekend is als de kardinaliteit huizenprijs taxatie (CE), is opnieuw ontworpen in SQL Server 2014 (compatibiliteitsniveaus 120) en SQL Server 2016 (compatibiliteitsniveaus 130) voor een betere kwaliteit van de queryplannen. Wanneer u echter een complexe query compileert met veel joins met een DISTINCT of GROUP BY-operator, kan de compilatie veel langer duren dan verwacht.
Oplossing
Deze update bevat een oplossing voor dit probleem in Service Pack 1 voor SQL Server 2016.Opmerking Nadat u deze update hebt geïnstalleerd, moet u de optie 4199 van tracering instellen om de correctie in te schakelen. Als u de traceringsvlag 4199 wilt instellen, raadpleegt u het onderwerp tracerings vlaggen (Transact-SQL) op MSDN.
Elke nieuwe build voor SQL Server 2016 bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie. U wordt aangeraden de nieuwste versie van SQL Server 2016te installeren.
Workaround
Om dit probleem te omzeilen, kunt u een van de volgende methoden gebruiken:
-
Met Trace Flag 9481 kunt u het schattings model voor de kardinaliteit van de query optimaliseren naar SQL Server 2012 of een eerdere versie.
-
Het compatibiliteitsniveau van de database wijzigen in SQL Server 2012 (110) of een eerdere versie.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Lees meer over de terminologie die door Microsoft wordt gebruikt om software-updates te beschrijven.