Symptomy

Rozpatrzmy następujący scenariusz:

  • Używasz aktualizacji zbiorczej 2 (CU2) z dodatkiem Service Pack 2 (SP2) Microsoft SQL Server 2016 lub nowszej.

  • Korzystasz z wystąpienia, które obsługuje wiele baz danych (zazwyczaj więcej niż 200), a wystąpienie jest częścią grupy zawsze w dostępności (AG) (zwykle z rolą serwera pomocniczego). Uwaga 16. Wszystkie bazy danych użytkowników nie muszą należeć do grup AG.

  • Uruchamiasz aplikację volume Shadow Copy Services (VSS), aby zażądać kopii zapasowej wszystkich lub niektórych baz danych wystąpienia SQL Server.

W tym scenariuszu usługa edytora SQL może wystąpić w sytuacji zakleszczenia i przez nieograniczony czas przechowywać blokady względem wewnętrznej tabeli systemowej we wzorcu (sys.sysdbreg z object_id 28). Ponadto te blokady z kolei uniemożliwiają odczytywanie z systemowych widoków zarządzania dynamicznego (DMV), takich jak sys.dm_hadr_database_replica_states, i mogą prowadzić do głównych bloków pomocniczych w tym wystąpieniu. Ponadto można zauważyć, że analiza łańcucha blokowego zwraca następującą instrukcję pochodzącą z edytora SQL Server VSS jako bloker głowy:

"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"

Następnie SQL Server będzie mieć stan oczekiwania ASYNC_NETWORK_IO.

Uwaga 16. Ponieważ zaimplementowano ASYNC_NETWORK_IO oczekiwania, wait_time przed nim nigdy nie przekroczy dwóch sekund (2000 ms). Jednak typ oczekiwania pozostanie w miejscu przez czas nieokreślony, a ta sytuacja nigdy nie odblokuje się sama. Wymaga to zabicia usługi edytora SQL w celu odblokowania sytuacji.

Wśród SPID zablokowanych przez ten bloker głowy, często będzie DBSTARTUP SPID (alwayson Secondary DB ponów).

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla SQL Server:

Informacje o aktualizacjach zbiorczych dla SQL Server:

Każda nowa aktualizacja zbiorcza dla SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla SQL Server:

Informacje

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.