KB2926712 – KORJAUS: Suorituskyky heikkenee, kun ALTER INDEX... ONLINE-toiminto keskeytyy SQL Server 2012:ssa tai SQL Server 2014:ssä

Käytetään kohteeseen
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Express SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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.