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.