KB2952101 – KORJAUS: Huono kardinaliteetin estimointi, kun nousevan näppäinsarakkeen merkintä on paikallaan SQL Server

Käytetään kohteeseen
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)

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:

      

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.