Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Príznaky

Pri použití databázy zrkadlenie v Microsoft SQL Server 2012 alebo Microsoft SQL Server 2014, môže zasiahnuť podmienky argumentu a zrkadlenie databázy vstúpi do stavu pozastavené.

Príčina

Problém sa vyskytuje, pretože pri priradení novej stránky získa SQL Server X Lock na novej strane. SQL Server umiestni hobt_id (haldy alebo B-Tree ID), ku ktorému nová strana patrí do žiadosti o uzamknutie. SQL Server však nedokáže vložiť hobt_id do zrkadlového záznamu a výsledky v rôznych problémoch uzamknutia medzi primárnym a zrkadlovým. Toto je možné podrobne vysvetliť takto:

  1. T1 podržte IX Lock na strane P1.

  2. T2 Ak chcete rozdeliť stránku na P1, vyhradiť novú stranu P2, tu sa používa systémová transakcia TX, je držiteľom X Lock na P2. Tu SQL Server nevložil hobt_id do zrkadlového denníka.

  3. TX je migrácia uzamknutia pre T1 na presun IX Lock z P1 na P2.

  4. TX spáchané, teraz T2 môže použiť stránku P2 a T2 získať ďalšie IX Lock na strane P2.

  5. T1 dopustil, teraz T2 je jediný, kto má IX Lock na P2.

  6. Po vložení veľkého počtu sa vyskytne Eskalácia uzamknutia, na primárnej, T2 uvoľňuje IX na P2, ale na zrkadle, počas eskalácie uzamknutia T2 neuvoľnil IX Lock.

  7. Po mnohých odstránení sa strana P2 stala prázdnou a je dealokovaná.

  8. T3 potrebuje novú stranu a stáva sa priradením P2, to si vyžaduje zámok X, ale na zrkadle, tento krok zlyhal z dôvodu kroku 6.

V zrkadle sa krok 6 nezbavuje zámku IX, pretože hobt_id v bloku uzamknutia je nesprávna. Tento nesprávny hobt_id sa zobrazuje v kroku 2 a pretože SQL Server neumiestňuje hobt_id do zrkadlového denníka. zvyčajne sa nezobrazuje žiadny problém, pretože TX v kroku 2 je veľmi krátka a blok uzamknutia s nesprávnym hobt_id sa uvoľní, keď sa dopustí. Z dôvodu uzamknutia migrácie v Krok3 a nasledujúcich krokov (4 a 5) sa však tento blok uzamknutia s nesprávnou hobt_id zachová a nakoniec problém spôsobuje. Primárna nemá tento problém, pretože v kroku 2 používa správny hobt_id. Záznam denníka však nemá správnu hobt_id.

Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

Alternatívne riešenie

Ak chcete problém obísť, znova inicializovať zrkadlo na ukončenie pozastaveného stavu.

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×