Symptomy
W przypadku korzystania z funkcji zawsze w przypadku grup dostępności w programie Microsoft SQL Server 2016 lub 2017 równoległe odzyskiwanie odczytanej repliki pomocniczej jest zawieszane, jeśli w tej samej replice występują jednoczesne zapytania tylko do odczytu i jest wyświetlany następujący komunikat o błędzie:
Date\Time Identyfikator SPID wystąpił limit czasu podczas oczekiwania na zatrzaśnięcia buforu — wpisz 4, BP 000000E66DA93540, Page pageid, stat 0Xb, identyfikator bazy danych: DatabaseID, identyfikator jednostki alokacji: UnitID, zadanie TaskID, waittime 300 sekund, flagi 0x1018, właściciel zadania TaskID. Nie czeka na kontynuowanie.
Rozwiązanie
Ten problem został rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 6 dla programu SQL Server 2017
Zbiorcza aktualizacja 8 dla programu SQL Server 2016 z dodatkiem SP1
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Obejście
Aby obejść ten problem, użyj jednej z następujących metod:
-
Unikaj repliki podstawowej i repliki pomocniczej pracującej w tej samej tabeli w tym samym czasie.
-
Ustaw limit czasu kwerendy, aby zakończyć kwerendę, gdy została wykonana przez 1 lub 2 minuty.
-
Zmniejsz MAXDOP.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.