Ongelman ilmenemistapa
Oletetaan, että asennat alkuperäisen, julkaistun ja nyt vanhentuneen SQL Server 2014 Service Pack 1 (SP1):n kumulatiivisen päivityksen 6 (koontiversio numero 12.0.4449.0, KB 3144524) ja että suoritat kuormituskaavoja, jotka sisältävät rinnakkaisen SELECT(...)NOLOCKILLA OLETUSARVOISEN SQL Server -lukituspohjaisen eristystason alla tai korkeammalla tasolla. Tässä tapauksessa saatat kohdata kyselyjä, jotka estetään tai joissa on lukkiutumisia.
Tämä esto-ongelma esiintyy seuraavissa kuvioissa:
- Suorittamalla rinnakkaisen SELECT-toiminnon (...) INTO Table FROM SourceTable -lauseketta ja erityisesti NOLOCK-vihjettä käyttäen oletusarvoisen SQL Server lukkopohjaisen eristystason kohdalla tai korkeammalla. Tässä skenaariossa muut kyselyt, jotka yrittävät käyttää lähdetaulukkoa, estetään.
- Kun yksi tapahtuma pitää yksityisesti lukittua objektia (esimerkiksi käynnissä oleva taulukon päivitys), toinen tapahtuma suorittaa rinnakkaista SELECT-toimintoa (...) FROM SourceTable käyttämällä NOLOCK-vihjettä. Tässä skenaariossa SourceTablea käyttävä valintakysely estetään.
Jos haluat selvittää asennetun nykyisen SQL Server -version, katso ohjeet artikkelista SQL Server:n ja sen osien version, version ja päivitystason selvittäminen.
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
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
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 .