Symptomy
Załóżmy, że w SQL Server 2016 i 2017 roku jest dostępna grupa Zawsze włączona dostępność. Podczas przetwarzania zapytania odczytu w replice pomocniczej wydajność może być znacznie mniejsza niż replika podstawowa z powodu częstych DIRTY_PAGE_TABLE_LOCK oczekiwania.
Przyczyna
Ten problem występuje z powodu rywalizacji między zapytaniem odczytu a wątkiem ponownego wykonywania oraz dlatego, że tabela jest zablokowana.
Rozwiązanie
Ta poprawka jest zawarta w następujących aktualizacjach dla SQL Server:
Aktualizacja zbiorcza 8 dla SQL Server 2017 r.
Aktualizacja zbiorcza 1 dodatku Service Pack 2 dla SQL Server 2016
Aktualizacja zbiorcza 9 dodatku Service Pack 1 dla SQL Server 2016
Informacje o kompilacjach SQL Server
Każda nowa kompilacja dla SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które były w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla twojej wersji SQL Server:
Obejście
Aby obejść ten problem, możesz użyć jednego wątku ponownego zamiast równoległego wątku ponownego, włączając flagę śledzenia 3459.
Więcej informacji
Gdy zapytania tylko do odczytu są uruchomione na czytelnej replice pomocniczej, wątki zapytań próbują zastosować oczekujące operacje ponownego wykonywania dziennika i muszą współpracować z wątkami ponownego wykonywania operacji roboczych z DIRTY_PAGE_TABLE_LOCK oczekiwaniami, które mogą być często generowane i spowalniać zarówno wykonywanie ponownych operacji, jak i wydajność zapytań, jeśli występują jednoczesne obciążenia ponownie. Problem z wydajnością związany z DIRTY_PAGE_TABLE_LOCK oczekiwania został rozwiązany w aktualizacji zbiorczej dla SQL Server 2016 z dodatkiem SP i SQL Server 2017, o którym wspomniano w tym artykule.
Aby uzyskać więcej informacji, zobacz następujący blog dotyczący modelu i wydajności repliki pomocniczej grupy dostępności.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Informacje
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.