Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server w Windows
Podsumowanie
Ten artykuł stanowi punkt wyjścia do rozwiązywania problemów związanych z instalacją programu SQL Server, jego uaktualnianiem, uruchamianiem usług, usługą SQL Server Agent, wystąpieniem klastra trybu failover (FCI), protokołem Kerberos, serwerem połączonym i grupą dostępności, które występują, gdy usługi SQL Server są uruchamiane przy użyciu grupowego konta usługi zarządzanej (gMSA). Większość z tych objawów ma te same podstawowe przyczyny, niezależnie od tego, czy używany jest obiekt gMSA, dlatego każdy artykuł dotyczący danego scenariusza zawiera tylko kontrole specyficzne dla gMSA i odsyła do głównego artykułu dotyczącego rozwiązywania problemów w pozostałym zakresie.
Zacznij od listy kontrolnej szybkiego sprawdzania poprawności. Następnie użyj ścieżki rozwiązywania problemów zgodnej z zaobserwowanym niepowodzeniem, aby znaleźć artykuł scenariusza zawierający kroki diagnostyki i rozwiązywania problemów. Aby uzyskać informacje na temat wybierania i konfigurowania kont usług dla SQL Server, w tym zarządzanych kont usług i kont gMSA, zobacz Konfigurowanie kont usług i uprawnień Windows. Aby uzyskać informacje o tworzeniu kont usług zarządzanych przez grupę i zarządzaniu nimi w usłudze Active Directory, zobacz Zarządzanie kontami usług zarządzanymi przez grupę.
Wymagania wstępne
- Bezpośredni dostęp administracyjny do każdego hosta SQL Server lub węzła klastra, których dotyczy problem.
- Dostęp do dzienników uruchamiania instalatora SQL Server, dziennika błędów SQL Server, dziennika błędów SQL Server Agent oraz dzienników aplikacji i systemu Windows.
- Moduł Active Directory programu PowerShell dla
Get-ADServiceAccountiTest-ADServiceAccount. Jeśli moduł nie jest obecny, zobacz Instalowanie narzędzi administracji zdalnej serwera i zarządzanie nimi w Windows. - Odpowiednie uprawnienia Active Directory lub pomoc od administratora Active Directory w celu zweryfikowania pobierania haseł, nazw głównych usług (SPN), delegowania i autoryzowanych hostów.
- Uprawnienie do uruchamiania zapytań diagnostycznych Transact-SQL, gdy Database Engine jest dostępna. Zapytania diagnostyczne w tym artykule i w artykułach dotyczących scenariuszy odczytują dynamiczne widoki zarządzania i widoki katalogowe na poziomie serwera. Aby uzyskać wymagane uprawnienia, które różnią się w zależności od wersji, zobacz Dynamiczne widoki i funkcje zarządzania systemem.
Important
Zbierz informacje przed zmianą kont usług, zasad zabezpieczeń, wartości rejestru, identyfikatorów SPN lub ustawień klastra failover. Zarejestruj czas awarii i strefę czasową serwera. Uruchom lokalnie polecenia weryfikacji hosta na każdym objętym problemem serwerze samodzielnym, każdym węźle klastra lub każdej replice, a następnie porównaj wyniki. Zastąp przykładowe nazwy kont, usług, wystąpień i domen wartościami ze środowiska.
Lista kontrolna szybkiej weryfikacji
Uruchom te testy na każdym hoście, którego dotyczy problem, przed otwarciem artykułu specyficznego dla scenariusza. W przypadku klastra pracy awaryjnej (FCI) lub grupy dostępności uruchom je na każdym węźle, który może być właścicielem, lub na każdej replice i porównaj wyniki.
Potwierdź skonfigurowane konta usług SQL Server i SQL Server Agent, sprawdzając wartość Log On As w SQL Server Configuration Manager oraz dane wyjściowe
SERVICE_START_NAMEzsc.exe qc.Dla domyślnej instancji uruchom następujące polecenia.
sc.exe qc MSSQLSERVER sc.exe qc SQLSERVERAGENTOczekiwany wynik:
SERVICE_START_NAMEidentyfikuje zamierzony gMSA. W przypadku nazwanego wystąpienia użyj elementówMSSQL$<InstanceName>iSQLAgent$<InstanceName>. Zastąp<InstanceName>nazwą wystąpienia.Upewnij się, że usługa Active Directory może odnaleźć konto gMSA, uruchamiając
Get-ADServiceAccounti sprawdzając, czy zwraca ono właściwe konto.Uruchom następujące polecenie w sesji programu PowerShell z podwyższonym poziomem uprawnień.
Get-ADServiceAccount -Identity 'SQLgMSA' -Properties PrincipalsAllowedToRetrieveManagedPasswordOczekiwany wynik:
Get-ADServiceAccountZwraca zamierzone konto i wyświetla listę hostów.Upewnij się, że konto komputera-hosta lub grupa, do której ono należy, jest wymienione w
PrincipalsAllowedToRetrieveManagedPassword.Przetestuj pobieranie hasła na każdym hoście, którego dotyczy problem, lub na potencjalnym węźle właściciela, uruchamiając lokalnie
Test-ADServiceAccounti potwierdzając, że zwracaTrue.Uruchom następujące polecenie w sesji programu PowerShell z podwyższonym poziomem uprawnień.
Test-ADServiceAccount -Identity 'SQLgMSA'Oczekiwany wynik:
Test-ADServiceAccountzwracaTruewartość na każdym hoście, który może uruchomić usługę SQL Server.Potwierdź, że Menedżer kontroli usług traktuje konto usługi jako zarządzane, uruchamiając
sc.exe qmanagedaccountdla dokładnej nazwy usługi SQL Server lub SQL Server Agent i sprawdzając, czy zgłaszaTRUE.Dla domyślnej instancji uruchom następujące polecenia.
sc.exe qmanagedaccount MSSQLSERVER sc.exe qmanagedaccount SQLSERVERAGENTOczekiwany wynik:
qmanagedaccountraportyTRUE.Potwierdź konfigurację DNS, wykrywanie kontrolera domeny, stan bezpiecznego kanału i synchronizację czasu.
Uruchom następujące polecenia. Zastąp ciąg
contoso.comnazwą domeny Active Directory.nltest /dsgetdc:contoso.com nltest /sc_verify:contoso.com w32tm /query /statusOczekiwany wynik: kontroler domeny zostanie wykryty, ustanowienie bezpiecznego kanału zakończy się powodzeniem, a synchronizacja czasu działa prawidłowo.
Jeśli SQL Server zostanie uruchomiony, potwierdź bieżący schemat uwierzytelniania, wysyłając
sys.dm_exec_connectionszapytanie z zdalnej sesji uwierzytelnionej Windows.
Aby uzyskać dodatkowe sprawdzenia gMSA na poziomie hosta, które nie są specyficzne dla programu SQL Server, zobacz Rozwiązywanie problemów z gMSA dla kontenerów Windows.
Wybieranie ścieżki rozwiązywania problemów
| Obserwowany objaw | Zapoznaj się z |
|---|---|
| Instalator odrzuca gMSA lub nie może go zweryfikować | Rozwiązywanie problemów z błędami instalacji i uaktualniania za pomocą agentów gMSA |
| Instalacja nie powiedzie się z błędem 0x84BB0001 lub „Odmówiono dostępu” | Instalacja kończy się niepowodzeniem z powodu błędu 0x84BB0001 |
| Błąd 1069, identyfikator zdarzenia 7041 lub zdarzenie o identyfikatorze 7038 | Rozwiązywanie problemów z błędami uruchamiania usługi przy użyciu gMSA |
| Usługa kończy się niepowodzeniem tylko podczas rozruchu | Rozwiązywanie problemów z błędami uruchamiania usługi przy użyciu gMSA |
IsManagedAccount lub qmanagedaccount jest FALSE |
Rozwiązywanie problemów z błędami uruchamiania usługi przy użyciu gMSA |
| SQL Server Agent uruchamia się, ale zadania kończą się niepowodzeniem | Rozwiązywanie problemów z niepowodzeniami zadań SQL Server Agent przy użyciu kont gMSA |
| Konfigurowanie FCI, dodawanie węzła, uruchamianie lub przełączenie awaryjne kończy się niepowodzeniem | Rozwiązywanie problemów z awariami wystąpień klastra pracy awaryjnej przy użyciu gMSA |
| Przełączenie awaryjne na NTLM, błąd SPN, ANONYMOUS LOGON lub błąd uwierzytelniania punktu końcowego grupy dostępności | Rozwiązywanie problemów z błędami uwierzytelniania kerberos i gMSA |
| Uaktualnianie kończy się niepowodzeniem z powodu błędu 29569 | uaktualnianie SQL Server kończy się niepowodzeniem z powodu błędu 29569 |
Zbieranie danych diagnostycznych
Jeśli lista kontrolna szybkiej weryfikacji i kontrole specyficzne dla danego scenariusza nie pozwalają ustalić przyczyny, przed kontynuowaniem analizy lub otwarciem zgłoszenia do pomocy technicznej zbierz następujące dane diagnostyczne. Zbierz każdy artefakt z tego samego interwału awarii, aby dowody korelowały.
Zbierz następujące informacje dotyczące gMSA z każdego hosta, węzła lub repliki objętych problemem:
-
Get-ADServiceAccountdane wyjściowe, w tymPrincipalsAllowedToRetrieveManagedPassword. -
Test-ADServiceAccountwynik. -
sc.exe qcisc.exe qmanagedaccountdane wyjściowe dla usług SQL Server i SQL Server Agent. -
nltest /dsgetdc,nltest /sc_verifyiw32tm /query /statusdane wyjściowe. - Skuteczne przypisania praw użytkownika i
gpresultdane wyjściowe. - Własność SPN i sprawdzanie duplikatów dla gMSA.
- Dla klastra trybu failover (FCI): dziennik klastra obejmujący przejście zasobu.
Zbierz następujące standardowe dane diagnostyczne SQL Server dla tego samego interwału:
- Dzienniki konfiguracji, w tym
Summary.txt,Detail.txtoraz dzienniki specyficzne dla funkcji. Zobacz Wyświetlanie i odczytywanie plików dziennika instalacji SQL Server. - Bieżące i zarchiwizowane dzienniki błędów SQL Server, dzienniki SQL Server Agent i historia zadań, które zakończyły się niepowodzeniem.
- System, aplikacja i odpowiednie dzienniki zdarzeń zabezpieczeń.
Aby zapoznać się z wyborem narzędzi i automatyczną kolekcją, zobacz Rozwiązywanie problemów i narzędzia diagnostyczne dla SQL Server. Możesz użyć funkcji SQL LogScout , aby zautomatyzować zbieranie, gdy jest ona odpowiednia do badania.