KB2809338 – OPRAVA: Vysoká hodnota počítadla Čakanie na zápis do denníka v inštancii SQL Server 2012 alebo SQL Server 2014

Vzťahuje sa na
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Príznaky

        
Predpokladajme, že povolíte funkciu ako AlwaysOn Availability Groups, ktorá používa fond denníkov v inštancii Microsoft SQL Server 2012 alebo Microsoft SQL Server 2014. V tejto situácii má počítadlo čakania na zápis denníka pre medzipamäť denníka v inštancii SQL Server vysokú hodnotu. Vysoké hodnoty pre typy čakania CMEMTHREAD a WRITELOG si môžete všimnúť aj v zobrazeniach dynamickej správy (DMV). Okrem toho sa vygenerujú súbory s minivýpisom.

Poznámka: Fond denníkov je vyrovnávacia pamäť denníka transakcií v pamäti. Táto vyrovnávacia pamäť sa používa okrem iného na optimalizáciu čítania denníka počas obnovy a operácií vrátenia pri replikácii transakcií a na funkciu Skupiny dostupnosti AlwaysOn.

Príčina

Tento problém sa vyskytuje, pretože fond denníkov používa pre všetky databázy globálny ukazovateľ na objekt pamäte (PMO).

Keď sa mnoho vláken pokúsi zapísať denníky pomocou fondu denníkov, všetky vlákna musia čakať na ukazovateľ na objekt pamäte, čo má za následok rozpor údajov popísaný v časti Príznaky.

Riešenie

SQL Server 2014 Service Pack 1

Balík Service Pack 1 pre SQL Server 2014 predvolene obsahuje túto opravu a na povolenie opravy nemusíte pridávať žiadne príznaky sledovania.

SQL Server 2014

Problém bol opravený vo verzii RTM SQL Server 2014, ale na aktiváciu opravy je stále potrebné povoliť príznak trasovania T9024 a/alebo 8048. Po povolení tohto príznaku sledovania inštancia SQL Server rozdelí na oblasti ukazovateľ na objekt pamäte na úrovni uzla.

Poznámky

  • Ak problémy pretrvávajú aj po zapnutí príznaku trasovania T9024, môžete povoliť aj príznak sledovania T8048, ktorý rozdelí na oblasti objektu smerník na pamäť na úrovni procesora.
  • SQL Server 2014 Service Pack 1 (SP1) obsahuje túto opravu a nie je potrebné povoliť príznak sledovania.

          

SQL Server 2012

            
Poznámka: SQL Server 2012 Service Pack 3 (SP3) obsahuje túto opravu a nemusíte povoliť príznak sledovania.

Informácie o kumulatívnych aktualizáciách

Kumulatívna aktualizácia 3 pre SQL Server 2012 SP1

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 3. Ďalšie informácie o tom, ako získať tento balík kumulatívnych aktualizácií pre SQL Server 2012 SP1, získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:

2812412 Balík kumulatívnej aktualizácie 3 pre balík SQL Server 2012 Service Pack 1Poznámka Keďže zostavy sú kumulatívne, každé nové vydanie opravy obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcom vydaní opráv balíka SQL Server 2012 SP1. Odporúčame, aby ste zvážili použitie najnovšej opravy, ktorá obsahuje túto rýchlu opravu. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2772858 Zostavy SQL Server 2012, ktoré boli vydané po vydaní balíka Service Pack 1 SQL Server 2012 Poznámka Po použití rýchlej opravy je potrebné na aktiváciu opravy povoliť príznak trasovania T9024. Po povolení tohto príznaku sledovania inštancia SQL Server rozdelí na oblasti ukazovateľ na objekt pamäte na úrovni uzla.

Poznámka: Ak problémy pretrvávajú aj po zapnutí príznaku trasovania T9024, môžete povoliť aj príznak trasovania T8048, ktorý rozdelí smerník na pamäťový objekt na oblasti na úrovni procesora.

Informácie o rýchlych opravách

Od spoločnosti Microsoft je k dispozícii podporovaná rýchla oprava. Táto rýchla oprava je však určená len na vyriešenie problému, ktorý je popísaný v tomto článku. Túto rýchlu opravu použite len v systémoch, v ktorých sa vyskytol tento konkrétny problém.

Ak je rýchla oprava k dispozícii na stiahnutie, v hornej časti článku databázy Knowledge Base sa nachádza časť K dispozícii na stiahnutie rýchlej opravy. Ak sa táto časť nezobrazuje, odošlite požiadavku na oddelenie služieb zákazníkom a technickej podpore spoločnosti Microsoft a požiadajte o rýchlu opravu.

Poznámka: Ak sa vyskytnú ďalšie problémy alebo je potrebné riešenie problémov, možno bude potrebné vytvoriť samostatnú žiadosť o službu. Zvyčajné náklady na podporu sa budú vzťahovať na ďalšie otázky a problémy podpory, ktoré nespĺňajú podmienky na túto konkrétnu rýchlu opravu. Úplný zoznam telefónnych čísel na služby zákazníkom a technickej podpory spoločnosti Microsoft alebo ak chcete vytvoriť samostatnú žiadosť o službu, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:

/contactus/?ws=support Poznámka: Formulár K dispozícii na stiahnutie rýchlej opravy zobrazuje jazyky, pre ktoré je rýchla oprava k dispozícii. Ak sa váš jazyk nezobrazuje, nie je pre daný jazyk k dispozícii rýchla oprava.

Predpoklady pre SQL Server 2012

Ak chcete použiť túto rýchlu opravu, musíte mať v počítači nainštalovaný balík SQL Server 2012 SP1.

Požiadavka na reštartovanie

Po použití tejto rýchlej opravy nie je potrebné reštartovať počítač. SQL Server je nutné reštartovať pomocou príznaku trasovania T9024. Ďalšie informácie o konfigurácii SQL Server pomocou príznaku sledovania pri spustení nájdete v téme Možnosti spustenia služby databázového stroja.

Informácie o súboroch

Globálna verzia rýchlej opravy má atribúty súborov (alebo neskoršie atribúty súborov), ktoré sú uvedené v nasledujúcej tabuľke. Dátumy a časy týchto súborov sú uvedené v koordinovanom svetovom čase (UTC). Pri zobrazení informácií o súbore sa tieto informácie prevedú na miestny čas. Ak chcete zistiť rozdiel medzi časom UTC a miestnym časom, použite kartu Časové pásmo v položke Dátum a čas na ovládacom paneli.