Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Sinulla on kysely, joka käyttää ei-yhtäläisyyspredikaattia yksilöllisessä GUID-sarakkeessa SQL Server 2014:ssä tai 2016:ssa.
- Tilastot päivitetään käyttämällä oletusotantaa. Taulukkoon lisätään myös uusia rivejä viimeisimmän tilastopäivityksen jälkeen.
- SQL Server käyttää uutta kardinaliteetin estimatoria, jossa tietokannan yhteensopivuustilaksi on määritetty 120.
- GUID-arvot jakautuvat epätasaisesti taulukkoon.
Kun suoritat kyselyn, suorituskyky voi tässä tapauksessa olla heikko, koska kyselysuunnitelman predikaatin rivien määrä on arvioitu virheellisesti.
Ratkaisu
Tämä ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server:n kumulatiivisessa päivityksessä:
SQL Server 2014 Service Pack 1:n kumulatiivinen päivitys 6
SQL Server 2016:n kumulatiivinen päivitys 1
Kun olet asentanut tämän kumulatiivisen päivityspaketin, sinun on otettava käyttöön jäljitysmerkintä 4199. Voit tehdä tämän lisäämällä käynnistysparametrin -T4199. Voit myös käyttää dbcc traceon(4199)-lauseketta tietyssä istunnossa.
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 2014:n uusin kumulatiivinen päivitys
SQL Server 2016:n uusin kumulatiivinen päivitys
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Viitteet
Lue lisää Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta .