KB4316948 – KORJAUS: Käyttöoikeusrikkomus kyselyä käännettäessä ja histogrammin muutos otetaan käyttöön oletusarvoisella kardinaliteetin estimointilla SQL Server 2016:ssa ja 2017:ssä

Käytetään kohteeseen
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

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.