Problemen met mislukkingen bij de installatie en upgrade van SQL Server met gMSA's oplossen

Van toepassing op: SQL Server op Windows

Overzicht

Dit artikel helpt u bij het oplossen van SQL Server setup- en upgradefouten die optreden wanneer Setup een door een groep beheerd serviceaccount (gMSA) voor de SQL Server- of SQL Server Agent-service weigert of niet kan valideren. Hierin wordt uitgelegd hoe u de principals controleert die zijn gemachtigd om het beheerde wachtwoord op te halen, het ophalen van wachtwoorden te testen en Active Directory replicatie, DNS, beveiligd kanaal en tijdsynchronisatieproblemen op te lossen.

Voordat u begint, controleert u de vereisten en voert u de controlelijst voor snelle validatie uit in Probleemoplossing SQL Server installatie-, opstart- en verificatiefouten met gMSA's.

Symptomen

  • Setup rapporteert dat het serviceaccount ongeldig is of dat accountvalidatie is mislukt.
  • De gMSA bestaat, maar setup kan SQL Server of SQL Server Agent niet configureren.
  • De fout treedt op tijdens de installatie, het herstel, add-features, add-node of upgraden.

Oorzaak

Setup moet het account oplossen en valideren dat de host het beheerde wachtwoord kan ophalen en gebruiken. Veelvoorkomende oorzaken zijn onvolledige Active Directory replicatie, onjuiste geautoriseerde principals of fouten met domeinconnectiviteit.

Installatiefouten die niet zijn gerelateerd aan het serviceaccount, hebben afzonderlijke richtlijnen. Voordat u doorgaat, controleert u in de installatielogboeken of de eerste fout een validatiefout voor het serviceaccount is. Zie SQL Server installatiefouten voor algemene installatiefouten en voor logboeklocaties en -structuur SQL Server Logboekbestanden weergeven en lezen.

Diagnose van gMSA-installatie- en upgradefouten

  1. Voer de opdrachten voor de controlelijst voor snelle validatie uit op de betreffende host.
  2. Controleer of het hostcomputeraccount of een geautoriseerde groep wordt vermeld in PrincipalsAllowedToRetrieveManagedPassword.
  3. Doorzoek Summary.txt en Detail.txt op de eerste validatiefout van het serviceaccount.

Verwacht resultaat:Get-ADServiceAccount retourneert het beoogde account en de geautoriseerde principals en Test-ADServiceAccount retourneert True.

GMSA-installatie- en upgradefouten oplossen

Gebruik de oplossing die overeenkomt met de voorwaarde die u hebt geïdentificeerd. Voer Setup pas opnieuw uit nadat Test-ADServiceAccountTrue retourneert op de betreffende host.

Corrigeer de principals die zijn gemachtigd om het gMSA-wachtwoord op te halen

  1. Controleer de huidige configuratie vanaf een beheercomputer waarop de Active Directory PowerShell-module is geïnstalleerd.

    Get-ADServiceAccount -Identity 'SQLgMSA' `
      -Properties PrincipalsAllowedToRetrieveManagedPassword |
      Select-Object Name, PrincipalsAllowedToRetrieveManagedPassword
    
  2. Controleer of het betrokken SQL Server computeraccount of een beveiligingsgroep met dat computeraccount wordt vermeld. Als de getroffen SQL Server host of een goedgekeurde beveiligingsgroep niet wordt vermeld, PrincipalsAllowedToRetrieveManagedPasswordwerkt u de gMSA-configuratie bij via het goedgekeurde Active Directory proces van uw organisatie:

    • Als uw organisatie geautoriseerde hosts beheert via een Active Directory beveiligingsgroep, moet u een Active Directory-beheerder het betreffende computeraccount toevoegen aan die goedgekeurde groep. Voorbeeld:

      Add-ADGroupMember -Identity 'SQL-gMSA-Hosts' `
        -Members 'SQL01$'
      
    • Als uw organisatie beveiligingsprincipals rechtstreeks op de gMSA autoriseert, laat dan een Active Directory-beheerder de gMSA bijwerken met de volledige lijst van goedgekeurde beveiligingsprincipals. Voorbeeld:

      Set-ADServiceAccount -Identity 'SQLgMSA' `
        -PrincipalsAllowedToRetrieveManagedPassword `
        'CONTOSO\SQL-gMSA-Hosts'
      

      Caution

      De PrincipalsAllowedToRetrieveManagedPassword waarde is een volledige lijst met geautoriseerde principals. Voordat u Set-ADServiceAccount gebruikt, controleert u de bestaande waarde en neemt u elke beveiligingsprincipal op die geautoriseerd moet blijven. Verwijder niet onbedoeld andere SQL Server-hosts of clusterknooppunten.

  3. Als u een lidmaatschap van een beveiligingsgroep hebt gewijzigd, vernieuwt u het groepslidmaatschap van de betreffende computer volgens het wijzigingsproces van uw organisatie.

  4. Controleer het resultaat op elke host die SQL Server kan uitvoeren.

    Get-ADServiceAccount -Identity 'SQLgMSA' `
      -Properties PrincipalsAllowedToRetrieveManagedPassword
    
    Test-ADServiceAccount -Identity 'SQLgMSA'
    

    Verwacht resultaat: het beoogde computeraccount of de goedgekeurde groep wordt weergegeven in PrincipalsAllowedToRetrieveManagedPassword, en Test-ADServiceAccount retourneert True.

Zie de volgende artikelen voor meer informatie:

Adreslijstreplicatie, DNS, beveiligd kanaal of connectiviteitsfouten met domeincontrollers oplossen

  1. Voer op de betreffende SQL Server host de volgende controles uit vanuit een PowerShell-sessie met verhoogde bevoegdheid. Vervang door contoso.com de Active Directory domeinnaam.

    Resolve-DnsName -Name '_ldap._tcp.dc._msdcs.contoso.com' `
      -Type SRV
    
    nltest /dsgetdc:contoso.com
    nltest /sc_verify:contoso.com
    w32tm /query /status
    
  2. Corrigeer de voorwaarde die door de controles wordt geïdentificeerd:

    • Als DNS-naamomzetting of de detectie van domeincontrollers mislukt, corrigeert u de DNS-clientconfiguratie van de host en controleert u of deze DNS-servers gebruikt die het Active Directory-domein kunnen omzetten.

    • Als nltest /sc_verify een storing in het beveiligde kanaal meldt, laat dan een Windows- of Active Directory-beheerder het beveiligde kanaal van de computer met het domein herstellen volgens het door de organisatie goedgekeurde proces.

    • Als de tijdsstatus niet in orde is, corrigeert u de tijdsynchronisatie voordat u het opnieuw test, omdat Active Directory verificatie afhankelijk is van de juiste tijd.

    • Als de wijziging van de geautoriseerde principal niet zichtbaar is op de domeincontroller waarmee de SQL Server-host verbinding maakt, laat dan een Active Directory-beheerder de replicatie controleren. Voorbeeld:

      repadmin /replsummary
      repadmin /showrepl *
      

      Active Directory replicatie is afhankelijk van netwerkconnectiviteit, DNS-naamomzetting, verificatie en autorisatie, tijdnauwkeurigheid, de directorydatabase en de replicatietopologie. Gebruik repadmin /showrepl en repadmin /replsummary om Active Directory replicatiefouten te identificeren.

  3. Nadat de onderliggende oorzaak is verholpen, voert u Test-ADServiceAccount opnieuw uit.

    Test-ADServiceAccount -Identity 'SQLgMSA'
    

    Verwacht resultaat: een domeincontroller wordt gedetecteerd, verificatie via een beveiligd kanaal slaagt, de tijdsynchronisatie is in orde, de gMSA-configuratie is zichtbaar vanaf de contactdomeincontroller en Test-ADServiceAccount retourneert True.

Diagnostische gegevens verzamelen

Als Setup de gMSA nog steeds niet kan valideren nadat u deze stappen hebt voltooid, verzamelt u diagnostische gegevens van de betreffende host voor hetzelfde foutinterval. Zie Diagnostische gegevens verzamelen in het overzicht van het oplossen van problemen met gMSA voor het verzamelen van gMSA-specifieke gegevens en standaardlogboeken SQL Server. Gebruik deze gegevens om door te gaan met het onderzoek of om een ondersteuningsaanvraag te openen.