Symptomer
Antag, at du forsøger at indsætte værdier i den foranstillede indekskolonne i Microsoft SQL Server 2012 eller SQL Server 2014. Når færre end 90 procent af de indsatte rækker har værdier, der ligger ud over den højeste RANGE_HI_KEY værdi i histogrammet, betragtes kolonnen som stationær i stedet for stigende. Derfor registreres den stigende nøgle ikke, og sporingsflagene 2389 og 2390, der normalt bruges til at løse problemet med stigende nøgler, virker ikke. Dette forårsager dårlig estimering af kardinalitet, når du bruger prædikater, der ligger ud over den RANGE_HI_KEY værdi af den eksisterende statistik.
Bemærk, at når du anvender denne samlede opdatering, skal du aktivere sporingsflag 4139. Dette medfører, at SQL Server altid ændrer histogrammet i det beskrevne scenarie uanset status for den foranstillede kolonne (stigende, faldende eller stationær).
Løsning
Dette problem blev først rettet i følgende kumulative opdateringer til SQL Server:
Kumulativ opdatering 1 til SQL Server 2012 SP2
Samlet opdatering 2 til SQL Server 2014
Kumulativ opdatering 10 til SQL Server 2012 SP1
Om kumulative opdateringer til SQL Server
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
- Seneste kumulative opdatering til SQL Server 2012 SP2
- Seneste kumulative opdatering til SQL Server 2014
- Seneste kumulative opdatering til SQL Server 2012 SP1
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".