KB2926712 - PATAISYMAS: Našumas sumažėja po ALTER INDEKSO... ONLINE operacija nutraukta „SQL Server“ 2012 arba „SQL Server“ 2014

Taikoma
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)

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:

      

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.