Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Suoritat ALTER INDEX -indeksin ... ONLINE-kysely Microsoft SQL Server 2012:ssa tai SQL Server 2014:ssä.
- Tämä kysely keskeytetään joko lukkiutumisen tai käyttäjän käynnistämän toiminnon, kuten sulkemiskomennon suorittamisen tai kyselyn peruuttamisen, vuoksi.
Tässä skenaariossa DML-toiminnot, joissa on käytettävä indeksin metatietoja, joko estetään tai niiden valmistuminen kestää kauan.
Lisäksi saatat kohdata seuraavia oireita:
- PWAIT_MD_RELATION_CACHE tai MD_LAZYCACHE_RWLOCK odotustyypin korotetut arvot, kun kysely sys.dm_os_wait_stats ja sys.dm_exec_requests dynaamisia hallintanäkymiä (DMV)
- Korotetut arvot SOS_RW odotustyypille, kun kyselet sys.dm_os_spinlock_stats DMV:tä
Tämä ongelma havaitaan yleensä lukkosaattuena, joka ilmenee, kun jokainen uusi DML-kysely tyhjentää hitaasti synkronointiobjektit. Koska synkronointiobjektit odottavat, suorittimen käyttö on yleensä rajoitettua.
Ratkaisu
Kumulatiiviset päivitystiedot
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 1 /en-us/help/2931693
Kumulatiivinen päivitys 9 SQL Server 2012 SP1:lle /en-us/help/2931078
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:
Hotfix-korjauksen tiedot
Tuettu hotfix-korjaus on saatavana Microsoftilta. Tämä hotfix-korjaus on kuitenkin tarkoitettu vain tässä artikkelissa kuvatun ongelman korjaamiseen. Käytä tämä hotfix-korjaus vain järjestelmissä, joissa on kyseinen ongelma.
Jos hotfix-korjaus on ladattavissa, Hotfix-korjauksen lataaminen saatavilla -osio on tämän tietokannan artikkelin yläosassa. Jos tätä osaa ei näy, lähetä Microsoftin asiakaspalveluun ja tukeen pyyntö hotfix-korjauksen hankkimiseksi.
Huomautus: Jos ilmenee lisää ongelmia tai jos vianmääritystä tarvitaan, sinun on ehkä luotava erillinen palvelupyyntö. Tavalliset tukikustannukset peritään lisäkysymyksistä ja ongelmista, jotka eivät liity tähän tietyn hotfix-korjaukseen. Täydellinen luettelo Microsoftin asiakaspalvelun ja tuen puhelinnumeroista tai erillisen huoltopyynnön luominen on seuraavassa Microsoftin verkkosivustossa:
/contactus/?ws=support Huomautus Hotfix-korjauksen lataaminen saatavilla -lomakkeessa näkyvät kielet, joilla hotfix-korjaus on saatavilla. Jos kieltä ei näy, sille ei ole saatavilla hotfix-korjausta.
Tärkeää Kun olet asentanut tämän hotfix-korjauksen, ALTER INDEX ... ONLINE-kysely voidaan keskeyttää heikentämättä SQL Server:n suorituskykyä.
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman tyhjentämällä metatietosyötteen, jotta lukkosaattue ja mahdolliset uudelleenkäännösjaksot eivät heikennä kyselyjen suorituskykyä. Voit tehdä tämän tyhjentämällä metatietomerkinnän jollakin seuraavista tavoista:
- Käynnistä SQL Server 2012:n tai SQL Server 2014:n esiintymä uudelleen.
- Aseta ongelmallinen tietokanta offline-tilaan ja palauta se sitten online-tilaan.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.