Požymiai
Apsvarstykite šį scenarijų:
- Jūs paleidžiate ALTER INDEX ... ONLINE užklausa "Microsoft „SQL Server“ 2012" arba "„SQL Server“ 2014".
- Ši užklausa nutraukiama dėl aklavietės arba vartotojo inicijuoto veiksmo, pvz., vykdytos žudymo komandos arba atšaukus užklausą.
Tokiu atveju visos DML operacijos, kurios turi naudoti indekso metaduomenis, yra blokuojamos arba užtrunka ilgai.
Be to, galite pastebėti šiuos požymius:
- Padidintos PWAIT_MD_RELATION_CACHE arba MD_LAZYCACHE_RWLOCK laukimo tipo reikšmės, kai užklausiate sys.dm_os_wait_stats ir sys.dm_exec_requests dinaminio valdymo rodinius (DMV)
- Padidintos laukimo tipo reikšmės SOS_RW kai užklausiate sys.dm_os_spinlock_stats DMV
Ši problema paprastai pastebima kaip užrakto vilkstinė, kuri atsiranda, kai kiekviena nauja DML užklausa lėtai išvalo sinchronizavimo objektus. Dėl sinchronizavimo objektų laukimo pobūdžio procesoriaus naudojimas paprastai yra ribotas.
Sprendimas
Kaupiamojo naujinimo informacija
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.
1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 /en-us/help/2931693
9 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1 /en-us/help/2931078
Apie kaupiamuosius „SQL Server“ naujinimus
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:
- Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1
Karštųjų pataisų informacija
Palaikomas karštąsias pataisas galima gauti iš "„Microsoft“". Tačiau ši karštoji pataisa skirta ištaisyti tik šiame straipsnyje aprašytą problemą. Taikykite šią karštąją pataisą tik toms sistemoms, kurios susiduria su šia problema.
Jei karštąją pataisą galima atsisiųsti, šio žinių bazės straipsnio viršuje yra skyrius "Karštosios pataisos atsisiuntimas". Jei šis skyrius nerodomas, pateikite užklausą "Microsoft" klientų aptarnavimo ir palaikymo tarnybai, kad gautumėte karštąją pataisą.
Pastaba: iškilus papildomų problemų arba prireikus trikčių diagnostikos, gali tekti sukurti atskirą aptarnavimo užklausą. Įprastos palaikymo išlaidos bus taikomos papildomiems palaikymo klausimams ir problemoms, kurios neatitinka šios konkrečios karštosios pataisos reikalavimų. Norėdami gauti visą "„Microsoft“" klientų aptarnavimo ir palaikymo tarnybos telefonų numerių sąrašą arba sukurti atskirą aptarnavimo užklausą, apsilankykite šioje "„Microsoft“" svetainėje:
/contactus/?ws=support Pastaba: Formoje "Karštųjų pataisų atsisiuntimas yra" rodomos kalbos, kurioms galima naudoti karštąją pataisą. Jei nematote savo kalbos, vadinasi, nėra tos kalbos karštųjų pataisų.
Svarbu Pritaikius šią karštąją pataisą, ALTER INDEX ... ONLINE užklausą galima nutraukti nesumažinant „SQL Server“ veikimo.
Sprendimo būdas
Norėdami išspręsti šią problemą, galite išvalyti metaduomenų įrašą, kad išvengtumėte užrakto konvojaus ir galimų perkompiliavimo ciklų, dėl kurių sumažėtų užklausų veikimas. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų, padėsiančių išvalyti metaduomenų įrašą:
- Iš naujo paleiskite "„SQL Server“ 2012" arba "„SQL Server“ 2014" egzempliorių.
- Nustatykite probleminę duomenų bazę į autonominę būseną ir vėl ją įjunkite prisijungus.
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.