Błąd 41131 podczas tworzenia grupy dostępności

Ten artykuł zawiera rozwiązania problemu polegającego na tym, że błąd 41131 występuje podczas tworzenia grupy dostępności w usłudze Microsoft SQL Server.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 2847723

Symptomy

Podczas próby utworzenia grupy o wysokiej dostępności w usłudze Microsoft SQL Server zostanie wyświetlony następujący komunikat o błędzie:

Msg 41131, Poziom 16, Stan 0, Linia 2
Nie można przełączyć grupy dostępności "availability_group" w tryb online. Upłynął limit czasu operacji. Sprawdź, czy lokalny węzeł klastra trybu failover systemu Windows Server (WSFC) jest w trybie online. Następnie sprawdź, czy zasób grupy dostępności istnieje w klastrze WSFC. Jeśli problem będzie się powtarzać, może być konieczne usunięcie grupy dostępności i utworzenie jej ponownie.

Przyczyna

Ten problem występuje, jeśli [NT AUTHORITY\SYSTEM] brakuje konta w SQL Server logowania lub jeśli konto nie ma uprawnień niezbędnych do utworzenia grupy o wysokiej dostępności.

Rozwiązanie

Aby rozwiązać ten problem, zastosuj jedną z następujących metod:

Metoda 1. Używanie kroków ręcznych

  1. Utwórz identyfikator logowania w SQL Server dla [NT AUTHORITY\SYSTEM] konta na każdym komputerze SQL Server hostującym replikę w grupie dostępności.

  2. Przyznaj kontu [NT AUTHORITY\SYSTEM] następujące uprawnienia na poziomie serwera:

    • ALTER dowolnej grupy dostępności

    • Łączenie z programem SQL

    • Wyświetlanie stanu serwera

    Uwaga

    Upewnij się, że żadne inne uprawnienia nie są przyznawane do konta.

Metoda 2. Używanie skryptu

  1. Aby utworzyć [NT AUTHORITY\SYSTEM] konto, uruchom następującą instrukcję w oknie zapytania:

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    
  2. Aby udzielić uprawnień do [NT AUTHORITY\SYSTEM] konta, uruchom następującą instrukcję w oknie zapytania:

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO
    

Więcej informacji

Konto [NT AUTHORITY\SYSTEM] jest używane przez funkcję wykrywania kondycji SQL Server Always On w celu nawiązania połączenia z komputerem SQL Server i monitorowania kondycji. Gdy tworzysz grupę dostępności, a replika podstawowa w grupie dostępności jest dostępna w trybie online, inicjowane jest wykrywanie kondycji. [NT AUTHORITY\SYSTEM] Jeśli konto nie istnieje lub ma wystarczające uprawnienia, nie można zainicjować wykrywania kondycji, a grupa dostępności nie może zostać w trybie online podczas procesu tworzenia.

Upewnij się, że te uprawnienia istnieją na każdym komputerze SQL Server, który może hostować replikę podstawową grupy dostępności.

Uwaga

Proces usługi monitorowania hosta zasobów (RHS.exe), który hostuje Resource.dll SQL, może być uruchamiany tylko na koncie systemowym.

Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z automatycznym trybem failover w środowiskach SQL Server Always On.