Ongelman ilmenemistapa
Oletetaan, että käynnissä on istunto, jonka lukkiutumisen prioriteetin arvoksi on määritetty suurempi kuin -10 (käyttäen syntaksia SET DEADLOCK_PRIORITY HIGH | NORMAALI | LOW, tai käyttämällä kokonaislukua, joka on suurempi kuin -10). Kun istunto suorittaa ALTER PARTITION FUNCTION - lausekkeen, istunnon lukkiutumisen prioriteetiksi asetetaan prosessin ajaksi väliaikaisesti -10 ja istunto valitaan aina lukkiutumisen uhriksi. Käyttäjän määrittämää arvoa ei noudateta.
Huomautuksia
- Koska lukkiutumisen prioriteetin muistiinpanolajit "KORKEA / NORMAALI / MATALA" yhdistetään niitä vastaaviin kokonaislukuarvoihin "5 / 0 / -5", muiden istuntojen lukkiutumisprioriteetin määrittäminen LOW-arvoksi ei auta. Lisätietoja lukkiutumisen prioriteeteista ja niiden numeerisista arvoista on artikkelissa SET DEADLOCK_PRIORITY (Transact-SQL).
- Kun olet asentanut tämän korjauksen, voit sallia ALTER PARTITION FUNCTION FUNCTION - lausekkeen noudattaa nykyistä käyttäjän määrittämää istunnon lukkiutumisprioriteettia käyttämällä jäljitysmerkintää 1237.
Ratkaisu
Tämä ongelma on korjattu seuraavassa SQL Server kumulatiivisessa päivityksessä:
SQL Server 2016 SP1:n kumulatiivinen päivitys 3
Tietoja SQL Server:n 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 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 tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.