Problemen met de installatie, het opstarten en de authenticatie van SQL Server oplossen met gMSA's

Van toepassing op: SQL Server op Windows

Overzicht

Dit artikel is het toegangspunt voor SQL Server installatie, upgrade, service opstarten, SQL Server Agent, failoverclusterexemplaar (FCI), Kerberos, gekoppelde server en beschikbaarheidsgroepfouten die optreden wanneer SQL Server services worden uitgevoerd onder een door een groep beheerd serviceaccount (gMSA). De meeste van deze symptomen hebben dezelfde hoofdoorzaken, ongeacht of een gMSA betrokken is, dus elk scenarioartikel isoleert de gMSA-specifieke controles en koppelingen naar het canonieke probleemoplossingsartikel voor de rest.

Begin met de controlelijst voor snelle validatie. Gebruik vervolgens het pad voor probleemoplossing dat overeenkomt met de waargenomen fout om het scenarioartikel te vinden dat de diagnostische en oplossingsstappen bevat. Zie Windows-serviceaccounts en -machtigingen configureren voor achtergrondinformatie over het selecteren en configureren van serviceaccounts voor SQL Server, inclusief beheerde serviceaccounts en gMSA's. Zie Door groepen beheerde serviceaccounts beheren voor het maken en beheren van gMSA's in Active Directory.

Prerequisites

Important

Verzamel bewijs voordat u serviceaccounts, beveiligingsbeleid, registerwaarden, SPN's of failoverclusterinstellingen wijzigt. Noteer de fouttijd en de tijdzone van de server. Voer de hostvalidatieopdrachten lokaal uit op elke betrokken zelfstandige server, clusterknooppunt of replica en vergelijk vervolgens de resultaten. Vervang de voorbeeldnamen van accounts, services, instanties en domeinen door waarden uit uw omgeving.

Controlelijst voor snelle validatie

Voer deze controles uit op elke betrokken host voordat u een scenariospecifiek artikel opent. Voor een FCI- of beschikbaarheidsgroep voert u deze uit op elk mogelijk eigenaarsknooppunt of replica en vergelijkt u de resultaten.

  1. Bevestig de geconfigureerde SQL Server- en SQL Server Agent-service-identiteiten door de waarde Log On As in SQL Server Configuration Manager en de uitvoer van sc.exe qc in SERVICE_START_NAME te controleren.

    Voer voor een standaardexemplaren de volgende opdrachten uit.

    sc.exe qc MSSQLSERVER
    sc.exe qc SQLSERVERAGENT
    

    Verwacht resultaat:SERVICE_START_NAME identificeert de beoogde gMSA. Gebruik voor een instantie met naam MSSQL$<InstanceName> en SQLAgent$<InstanceName>. Vervang <InstanceName> door de naam van het exemplaar.

  2. Controleer of Active Directory de gMSA kunt vinden door uit te voeren Get-ADServiceAccount en te controleren of het beoogde account wordt geretourneerd.

    Voer de volgende opdracht uit in een PowerShell-sessie met verhoogde bevoegdheid.

    Get-ADServiceAccount -Identity 'SQLgMSA' -Properties PrincipalsAllowedToRetrieveManagedPassword
    

    Verwacht resultaat:Get-ADServiceAccount retourneert het beoogde account en vermeldt de host.

  3. Controleer of het hostcomputeraccount of een groep die het account bevat, wordt vermeld in PrincipalsAllowedToRetrieveManagedPassword.

  4. Test het ophalen van wachtwoorden vanaf elke betrokken host of mogelijk eigenaarsknooppunt door lokaal uit te voeren Test-ADServiceAccount en te bevestigen dat het wordt geretourneerd True.

    Voer de volgende opdracht uit in een PowerShell-sessie met verhoogde bevoegdheid.

    Test-ADServiceAccount -Identity 'SQLgMSA'
    

    Verwacht resultaat:Test-ADServiceAccount retourneert True op elke host die de SQL Server-service kan uitvoeren.

  5. Controleer of Service Control Manager het serviceaccount als beheerd beschouwt door sc.exe qmanagedaccount uit te voeren voor de exacte servicenaam van SQL Server of SQL Server Agent en te controleren of TRUE wordt gerapporteerd.

    Voer voor een standaardexemplaren de volgende opdrachten uit.

    sc.exe qmanagedaccount MSSQLSERVER
    sc.exe qmanagedaccount SQLSERVERAGENT
    

    Verwacht resultaat:qmanagedaccount rapporten TRUE.

  6. Bevestig DNS, detectie van domeincontrollers, status van beveiligd kanaal en tijdsynchronisatie.

    Voer de volgende opdrachten uit. Vervang door contoso.com de Active Directory domeinnaam.

    nltest /dsgetdc:contoso.com
    nltest /sc_verify:contoso.com
    w32tm /query /status
    

    Verwacht resultaat: een domeincontroller wordt gedetecteerd, het beveiligde kanaal slaagt en de tijdstatus is in orde.

  7. Als SQL Server wordt gestart, bevestigt u het huidige verificatieschema door een query uit te voeren sys.dm_exec_connections vanuit een externe Windows geverifieerde sessie.

Zie Problemen met gMSA's voor Windows containers oplossen voor aanvullende gMSA-controles op hostniveau die niet specifiek zijn voor SQL Server.

Een pad voor probleemoplossing kiezen

Waargenomen symptoom Raadpleeg
Setup weigert de gMSA of kan deze niet valideren Problemen met de installatie en upgrade oplossen met gMSA's
De installatie mislukt met 0x84BB0001 of 'Toegang is geweigerd' Setup mislukt met fout 0x84BB0001
Fout 1069, gebeurtenis-id 7041 of gebeurtenis-id 7038 Problemen oplossen met fouten bij het starten van services met gMSA's
Service mislukt alleen tijdens het opstarten Problemen oplossen met fouten bij het starten van services met gMSA's
IsManagedAccount of qmanagedaccount is FALSE Problemen oplossen met fouten bij het starten van services met gMSA's
SQL Server Agent wordt gestart, maar taken mislukken Problemen met SQL Server Agent taak oplossen met gMSA's
FCI-installatie, knooppunt toevoegen, opstarten of failover mislukt Problemen met failoverclusterinstanties met gMSA's oplossen
NTLM-terugval, SPN-fout, ANONYMOUS LOGON of authenticatiefout van het eindpunt van de beschikbaarheidsgroep Kerberos- en authenticatiefouten met gMSA's oplossen
Upgrade mislukt met fout 29569 SQL Server upgrade mislukt met fout 29569

Diagnostische gegevens verzamelen

Als de controlelijst voor snelle validatie en de scenariospecifieke controles de oorzaak niet isoleren, verzamelt u de volgende diagnostische gegevens voordat u verdergaat met het onderzoek of opent u een ondersteuningsaanvraag. Verzamel elk artefact uit hetzelfde foutinterval, zodat het bewijs correleert.

Verzamel het volgende gMSA-specifieke bewijsmateriaal van elke betrokken host, knooppunt of replica:

  • Get-ADServiceAccount uitvoer, inclusief PrincipalsAllowedToRetrieveManagedPassword.
  • Test-ADServiceAccount resultaat.
  • sc.exe qc en sc.exe qmanagedaccount-uitvoer voor de SQL Server- en SQL Server Agent-services.
  • nltest /dsgetdc, nltest /sc_verify en w32tm /query /status uitvoer.
  • Effectieve toewijzing van gebruikersrechten en gpresult-uitvoer.
  • SPN-eigenaarschap en duplicaatcontroles voor de gMSA.
  • Voor een FCI omvat het clusterlogboek de resourceovergang.

Verzamel de volgende standaard SQL Server diagnostische gegevens voor hetzelfde interval:

Zie Probleemoplossing en diagnostische hulpprogramma's voor SQL Server voor het selecteren van hulpprogramma's en geautomatiseerde verzamelingen. U kunt SQL LogScout gebruiken om de verzameling te automatiseren wanneer deze geschikt is voor het onderzoek.