Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Yrität suorittaa kyselyn käyttämällä oletusarvon mukaista kardinaliteetin estimointia , kun histogrammin muutos on käytössä.
- Kysely sisällyttää lausekkeita sarakkeeseen, jota käytetään yhdessä predikaatissa.
Tässä skenaariossa tapahtuu käyttöoikeusrikkomus. Lisäksi näyttöön tulee seuraava virhesanoma:
Huomautus
Msg 596, taso 21, tila 1, rivinumero
Suoritusta ei voi jatkaa, koska istunto on tappotilassa.
Sanoma 0, taso 20, tila 0, rivinumero
Nykyisessä komennossa tapahtui vakava virhe. Mahdolliset tulokset on hylättävä.
Huomautus Histogrammin muuttaminen voidaan ottaa käyttöön käyttämällä USE HINT('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') -kyselyasetusta tai jäljitysmerkintää 4139.
Ratkaisu
Tämä ongelma on korjattu seuraavissa SQL Server -päivityksissä:
SQL Server 2017:n kumulatiivinen päivitys 8
SQL Server 2016 Service Pack 2:n kumulatiivinen päivitys 5
Tietoja SQL Server -koontiversioista
Jokainen uusi SQL Server -koontiversio sisältää kaikki edellisen koontiversion hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että asennat oman SQL Server -versiosi uusimman koontiversion:
SQL Server 2017:n uusin koontiversio
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
DBCC TRACEON - Jäljitä merkinnät (Transact-SQL)
Lue lisää vakioterminologiasta , jota Microsoft käyttää ohjelmistopäivitystensä kuvaamiseen.