KB2952101 – LØSNING: Dårlig kardinalitetsestimering når den stigende nøkkelkolonnen er merket som stasjonær i SQL Server

Gjelder for
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptomer

La oss si at du prøver å sette inn verdier i den innledende indekskolonnen i Microsoft SQL Server 2012 eller SQL Server 2014. Når færre enn 90 prosent av de innsatte radene har verdier som er utenfor den høyeste RANGE_HI_KEY verdien i histogrammet, betraktes kolonnen som stasjonær i stedet for stigende. Derfor oppdages ikke den stigende nøkkelen, og sporingsflaggene 2389 og 2390 som vanligvis brukes til å løse problemet med stigende nøkler, fungerer ikke. Dette fører til dårlig kardinalitetsestimering når du bruker predikater som er utenfor den RANGE_HI_KEY verdien av den eksisterende statistikken.

Når du bruker denne kumulative oppdateringen, bør du aktivere sporingsflagg 4139. Dette fører til at SQL Server alltid endrer histogrammet i det beskrevne scenariet, uavhengig av statusen for den innledende kolonnen (stigende, synkende eller stasjonær).

Oppløsning

Dette problemet ble først løst i følgende kumulative oppdateringer for SQL Server:

Kumulativ oppdatering 1 for SQL Server 2012 SP2
        
         Kumulativ oppdatering 2 for SQL Server 2014
        
         Kumulativ oppdatering 10 for SQL Server 2012 SP1

Om kumulative oppdateringer for SQL Server

Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Ta en titt på de nyeste kumulative oppdateringene for SQL Server:

      

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».