Ongelman ilmenemistapa
Oletetaan, että suoritat Microsoft SQL Server 2012:ssa tai Microsoft SQL Server 2014:ssä monimutkaisen rinnakkaiskyselyn, joka edellyttää huomattavaa määrää rinnakkaisia säikeitä ja että työsäikeet on käytetty loppuun vastaavassa ajoituksessa. Joissakin harvinaisissa tilanteissa kysely ei edisty määräämättömän ajan havaitsemattoman lukkiutumisen vuoksi.
Huomautus: Jos muilla SQL Server ajoittajilla on käytettävissä olevia työntekijöitä, tietokantamoduuli pystyy käsittelemään muut kyselyt oikein.
Syy
Kun työsäikeitä näkee nälkään, tiettyä odotusta työsäikeiden välillä ei pidetä mahdollisena esteenä. Tämän vuoksi lukkiutumisvalvonta ei havaitse tilannetta. Tämä aiheuttaa sen, että kysely ei vastaa. Tällaisen ehdon esiintymisen todennäköisyys on pieni ja riippuu pääasiassa kyselysuunnitelman muodosta, yhdensuuntaisuusasteesta ja työsäikeiden käytettävyydestä.
Ratkaisu
Kumulatiivisen päivityksen tiedot
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
- SQL Server 2014 SP1:n kumulatiivinen päivitys 1
- SQL Server 2014:n kumulatiivinen päivitys 7
- SQL Server 2012 SP2:n kumulatiivinen päivitys 5
Suositus: Asenna uusin kumulatiivinen päivitys SQL Server:lle
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että lataat ja asennat uusimmat kumulatiiviset päivitykset SQL Server:lle:
- SQL Server 2014 SP1:n uusin kumulatiivinen päivitys
- SQL Server 2014:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP2:n uusin kumulatiivinen päivitys
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.