Symptomen
Stel dat u probeert waarden in te voegen in de voorloopindexkolom in Microsoft SQL Server 2012 of SQL Server 2014. Wanneer minder dan 90 procent van de ingevoegde rijen waarden heeft die hoger zijn dan de hoogste RANGE_HI_KEY waarde in het histogram, wordt de kolom als stilstaand beschouwd in plaats van oplopend. Daarom wordt de oplopende toets niet gedetecteerd en werken de traceringsvlaggen 2389 en 2390, die gewoonlijk worden gebruikt om het probleem met de oplopende toetsen op te lossen, niet. Dit veroorzaakt een slechte schatting van de kardinaliteit wanneer u predicaten gebruikt die de RANGE_HI_KEY waarde van de bestaande statistieken overschrijden.
Opmerking Wanneer u deze cumulatieve update toepast, moet u traceringsvlag 4139 inschakelen. Dit zorgt ervoor dat het histogram in het beschreven scenario altijd door SQL Server wordt gewijzigd, ongeacht de status van de voorloopkolom (oplopend, aflopend of stationair).
Oplossing
Dit probleem is voor het eerst opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 1 voor SQL Server 2012 SP2
Cumulatieve update 2 voor SQL Server 2014
Cumulatieve update 10 voor SQL Server 2012 SP1
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:
- Laatste cumulatieve update voor SQL Server 2012 SP2
- Meest recente cumulatieve update voor SQL Server 2014
- Laatste cumulatieve update voor SQL Server 2012 SP1
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.