Ongelman ilmenemistapa
Oletetaan, että yrität lisätä arvoja Microsoft SQL Server 2012:n tai SQL Server 2014:n etuindeksisarakkeeseen. Jos alle 90 prosentilla lisätyistä riveistä on arvoja, jotka ylittävät histogrammin suurimman RANGE_HI_KEY arvon, sarake pysyy paikallaan nousevan sijaan. Tämän vuoksi nousevaa näppäintä ei tunnisteta, ja jäljitysmerkinnät 2389 ja 2390, joita yleensä käytetään nousevien näppäinten ongelman korjaamiseen, eivät toimi. Tämä aiheuttaa huonon kardinaliteetin estimointiin, kun käytät predikaatteja, jotka ylittävät olemassa olevien tilastojen RANGE_HI_KEY arvon.
Huomautus: Kun otat tämän kumulatiivisen päivityksen käyttöön, ota jäljitysmerkintä 4139 käyttöön. Tämä aiheuttaa sen, että SQL Server muuttaa aina histogrammia kuvatussa skenaariossa riippumatta edeltävän sarakkeen tilasta (nouseva, laskeva tai paikallaan).
Ratkaisu
Tämä ongelma korjattiin ensimmäisen kerran seuraavissa SQL Server:n kumulatiivisissa päivityksissä:
SQL Server 2012 SP2:n kumulatiivinen päivitys 1
SQL Server 2014:n kumulatiivinen päivitys 2
SQL Server 2012 SP1:n kumulatiivinen päivitys 10
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
- SQL Server 2012 SP2:n uusin kumulatiivinen päivitys
- SQL Server 2014:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP1:n uusin kumulatiivinen päivitys
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.