Rozwiązywanie problemów z niepowodzeniami uruchamiania usługi SQL Server przy użyciu kont gMSA

Dotyczy: SQL Server w Windows

Podsumowanie

Ten artykuł ułatwia rozwiązywanie problemów z błędami uruchamiania usługi SQL Server i SQL Server Agent, takimi jak błąd 1069, identyfikator zdarzenia 7041 i identyfikator zdarzenia 7038, gdy usługa działa w ramach konta usługi zarządzanej przez grupę (gMSA). Obejmuje ona pobieranie haseł zarządzanych, flagę IsManagedAccount , łączność z domeną i błędy, które występują tylko podczas rozruchu.

Przed rozpoczęciem zapoznaj się z wymaganiami wstępnymi i uruchom krótką listę kontrolną weryfikacji opisaną w artykule Rozwiązywanie problemów z konfiguracją, uruchamianiem i niepowodzeniami uwierzytelniania w SQL Server przy użyciu kont gMSA.

Symptoms

  • SQL Server lub SQL Server Agent nie można uruchomić i zgłasza błąd 1069" "Usługa nie została uruchomiona z powodu błędu logowania".
  • Dziennik systemu zawiera identyfikator zdarzenia programu Service Control Manager 7041 lub zdarzenie o identyfikatorze 7038.
  • Uruchomienie usługi nie powiedzie się automatycznie po ponownym uruchomieniu hosta, ale zostanie uruchomione ręcznie później.

Przyczyna

Błąd 1069 o identyfikatorze zdarzenia 7041 lub 7038 nie jest specyficzny dla gMSA. Identyfikator zdarzenia 7041 wskazuje na brak uprawnienia logowania, a identyfikator zdarzenia 7038 wskazuje na problem z kontem, hasłem lub kontaktem z domeną. Jeśli konto usługi jest kontem gMSA, zdarzenie o identyfikatorze 7038 może również oznaczać, że host nie może pobrać zarządzanego hasła lub że program Service Control Manager nie traktuje konta jako zarządzanego.

Diagnozowanie błędów uruchamiania usługi

Aby uzyskać pełną listę przyczyn i rozwiązań błędu 1069, w tym przydzielanie praw użytkownika, przypisania odmowy uprawnień, wyłączone lub zablokowane konta oraz usługi, które nie mogą nawiązać połączenia z domeną podczas uruchamiania systemu, zobacz Błąd 1069 występuje podczas uruchamiania usługi SQL Server.

Gdy konto usługi jest kontem gMSA, najpierw sprawdź następujące warunki:

  1. Potwierdź skonfigurowaną tożsamość usługi za pomocą polecenia sc.exe qc.
  2. Upewnij się, że na hoście, którego dotyczy problem, oraz na każdym węźle, który może być właścicielem wystąpienia klastra trybu failover (FCI), polecenie Test-ADServiceAccount zwraca True.
  3. Upewnij się, że konto komputera-hosta lub grupa, do której ono należy, jest wymienione w PrincipalsAllowedToRetrieveManagedPassword.
  4. Upewnij się, że sc.exe qmanagedaccount zgłasza TRUE dla usługi, której dotyczy problem. Jeśli zgłasza FALSE, wykonaj kroki opisane w flaga IsManagedAccount usługi gMSA jest ustawiona nieprawidłowo.
  5. Potwierdź wykrywanie kontrolera domeny, stan bezpiecznego kanału oraz synchronizację czasu za pomocą nltest i w32tm.

Powiąż awarię występującą wyłącznie podczas rozruchu

Jeśli usługa nie uruchomi się automatycznie po ponownym uruchomieniu hosta, ale później uruchamia się ręcznie, porównaj znaczniki czasu uruchamiania serwera, DNS, Netlogon, wykrywania domeny i SQL Server z czasem wystąpienia awarii. Jeśli sprawdzenie nie powiedzie się podczas rozruchu, ale powiedzie się, gdy host jest już w pełni dostępny, potwierdza to problem z kolejnością uruchamiania, a nie problem z konfiguracją usługi gMSA. Informacje o sposobach rozwiązania problemu, w tym o opóźnionym uruchamianiu i zależności od usługi Netlogon, można znaleźć w artykule Nie można odnaleźć określonej domeny lub nawiązać z nią połączenia.

Rozwiązywanie problemów z błędami uruchamiania usługi

  • Popraw określone konto, odzyskiwanie hasła, konto zarządzane lub stan domeny zidentyfikowane na podstawie dowodów.
  • Użyj SQL Server Configuration Manager dla wszystkich obsługiwanych zmian konta usługi. Aby uzyskać więcej informacji, zobacz Zmienianie konta uruchamiania usługi.
  • Uruchom ponownie usługę i sprawdź, czy zdarzenie o identyfikatorze 7038 lub identyfikatorze zdarzenia 7041 nie jest powtarzane, w tym po kontrolowanym ponownym uruchomieniu hosta.

Uwaga / Notatka

W przypadku FCI zachowaj uruchamianie zarządzane przez klaster zamiast zmieniać tryb uruchamiania usługi systemu Windows. Zobacz Troubleshoot SQL Server failover cluster failures with gMSAs (Rozwiązywanie problemów z błędami wystąpień klastra trybu failover za pomocą agentów gMSA).

Zbieranie danych diagnostycznych

Jeśli usługa nadal nie uruchamia się po wykonaniu tych kroków, zbierz dane diagnostyczne z hosta, którego dotyczy problem, dla tego samego interwału awarii. Informacje o danych specyficznych dla gMSA i standardowych dziennikach SQL Server, które należy zebrać, znajdują się w sekcji Zbieranie danych diagnostycznych w omówieniu rozwiązywania problemów z gMSA. Użyj tych danych, aby kontynuować dochodzenie lub otworzyć zgłoszenie do działu pomocy technicznej.