Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Příznaky

Zvažte následující scénář:

  • Používáte Microsoft SQL Server 2014 nebo Microsoft SQL Server 2012 Service Pack 2 (SP2) na serveru, který hostuje sekundární repliku skupiny dostupnosti v rámci postupného upgradu.

  • Na instalaci SQL serveru jste použili jednu z následujících aktualizací:

    • SQL Server 2014 kumulativní aktualizace 5

    • Aktualizace SQL Server 2012 Service Pack 2, kumulativní aktualizace 4

    • Aktualizace SQL Server 2012 Service Pack 2, kumulativní aktualizace 3

    Důležité Tyto kumulativní aktualizace nahrazuje oprava hotfix, která je uvedená v tomto článku. Pokud jste to ještě neudělali, tyto aktualizace neinstalujte.

  • Chcete-li dokončit instalaci kumulativní aktualizace, restartujte tuto sekundární repliku.

  • Přes skupinu dostupnosti, která převádí aktualizovanou sekundární repliku na primární roli, se stala chyba.

V tomto scénáři se může na serveru, na kterém je nainstalovaný SQL Server, vyskytnout některé z následujících příznaků:

  • Sekundární repliky jsou hlášeny jako neprobíhá synchronizace.

  • Při dotazování sys.dm_exec_requests zaznamenáte přerušované blokování mezi relacemi uživatelů a relací, jejíž příkaz je hlášen jako "DB_STARTUP". Můžete také zaznamenat blokování mezi příkazy kontrolního bodu a DB_STARTUP .

  • Zablokování, které zahrnuje relaci, která obnovila jednu z vašich databází dostupnosti, se oznamují v protokolu chyb SQL serveru. Tyto protokoly se podobají následujícím: <date/time> spid<xx> Recovery is writing a checkpoint in database <dbname/dbid>. This isan informational message only. No user action is required.<date/time> spid<xx> Recovery completed for database <dbname/dbid> in <x> second(s) (analysis<x> ms, redo <x> ms, undo <x> ms.) This is an informational message only. No user action is required.…<date/time> spid<xx> Error: 1205, Severity: 13, State: 28.<date/time> spid<xx> Transaction (Process ID <xx>) was deadlocked on lock resources with anotherprocess and has been chosen as the deadlock victim. Rerun the transaction.

  • Pokud je vaše databáze dostupnosti povolená pro Microsoft SQL Server Service Broker, zprávy v databázi dostupnosti se nemusí zpracovat úspěšně. Pokud spustíte nástroj pro trasování profileru a potom zachytíte událost "Broker: klasifikovat zprávu", bude zachycena následující událost:

    9791, bude zprostředkovatel zakázán v databázi odesílatele.

Poznámka Toto není systematický problém. Tyto kumulativní aktualizace se můžou v konfiguraci AlwaysOn použít, aniž by došlo k tomuto problému. Pokud jste tyto kumulativní aktualizace už použili a tento problém jste neinformovali, váš systém vás neovlivní a tyto informace se na vás nevztahují.

Příčina

K tomuto problému dochází, protože se někdy vyskytne spor mezi systémovými vlákny a uživatelskými připojeními. Tím se zabrání logice opravy kumulativní aktualizace, která se má získat u zámků potřebných k dokončení procesu aktualizace.

Řešení

Tento problém vyřešíte instalací následující kritické opravy hotfix na vyžádání (COD) :

3034679 Oprava: skupiny dostupnosti AlwaysOn můžou být nahlášené jako nesynchronizovat.Důležité Tuto opravu hotfix pro tresku obecné musíte použít místo následujících kumulativních aktualizací:

  • SQL Server 2014 kumulativní aktualizace 5

  • Aktualizace SQL Server 2012 Service Pack 2, kumulativní aktualizace 4

  • Aktualizace SQL Server 2012 Service Pack 2, kumulativní aktualizace 3

Poznámka Pokud jste tyto kumulativní aktualizace už použili, je potřeba tento problém vyřešit pomocí následujících kroků.

Alternativní řešení

Vzhledem k tomu, že tento problém je způsoben tím, že se při přechodu databází na primární roli vyskytl obsah mezi relací uživatele a upgradem na databáze dostupnosti Tento problém vyřešíte takto:

  1. Vyzkoušejte následující metody v uvedeném pořadí.

    Metoda 1: vyloučení přístupu k databáziKdyž v databázích dochází k chybám, které jsou zmíněné v části Příznaky, použijte jeden nebo oba následující kroky, aby se odstranila podmínka blokování uzamčení:

    • Query Sys.dm_exec_requests a vyhledejte relace, ve kterých se v databázích dostupnosti nachází blokující zámek. Ukončete tyto relace pomocí příkazu Kill .

    • Zakázání nebo ukončení aplikace, která přistupuje k databázím dostupnosti

    Pokud se tím problém nevyřeší, přejděte na metodu 2.

    Metoda 2: Restartujte hostitelský server SQL serveruPokud je přístup k aplikaci a přístup uživatelů stále zakázán, restartujte instanci systému SQL Server, která je hostitelem ohrožených databází dostupnosti. Postupujte takto:

    1. Zakáže automatické převzetí služeb při selhání ve skupině dostupnosti.

    2. Restartujte příslušnou instanci SQL serveru, která je hostitelem primární repliky.

    3. Povolte automatické převzetí služeb při selhání ve skupině dostupnosti.

  2. Po úplném obnovení příslušných databází obnovte připojení aplikací a uživatelů.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Odkazy

Další informace o kumulativních aktualizacích, kterých se tento problém týká, najdete v následujících článcích znalostní báze Microsoft Knowledge Base:

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×