Risolvere gli errori di installazione, avvio e autenticazione di SQL Server con i gMSA

Si applica a: SQL Server su Windows

Sommario

Questo articolo è il punto di riferimento per gli errori di installazione, aggiornamento, avvio dei servizi, SQL Server Agent, istanza del cluster di failover (FCI), Kerberos, server collegato e gruppo di disponibilità che si verificano quando i servizi di SQL Server vengono eseguiti con un account del servizio gestito di gruppo (gMSA). La maggior parte di questi sintomi ha le stesse cause alla radice, che sia coinvolto o meno un gMSA, quindi ogni articolo relativo allo scenario si concentra sui controlli specifici del gMSA e rimanda, per tutti gli altri aspetti, all'articolo canonico sulla risoluzione dei problemi.

Iniziare con l'elenco di controllo rapido per la convalida. Usare quindi il percorso di risoluzione dei problemi corrispondente all'errore osservato per trovare l'articolo dello scenario con i passaggi di diagnostica e risoluzione. Per informazioni di base sulla selezione e la configurazione degli account di servizio per SQL Server, inclusi gli account di servizio gestiti e i gMSA, vedere Configurare gli account di servizio e le autorizzazioni di Windows. Per la creazione e la gestione dei gMSA in Active Directory, vedere Gestire gli account di servizio gestiti di gruppo.

Prerequisiti

Importante

Raccogli informazioni prima di modificare gli account di servizio, i criteri di sicurezza, i valori del Registro di sistema, gli SPN o le impostazioni del cluster di failover. Registrare l'ora dell'errore e il fuso orario del server. Eseguire i comandi di convalida host in locale in ogni server autonomo, nodo del cluster o replica interessata e quindi confrontare i risultati. Sostituire l'account, il servizio, l'istanza e i nomi di dominio di esempio con i valori del proprio ambiente.

Elenco di controllo per la convalida rapida

Eseguire questi controlli su ogni host interessato prima di aprire un articolo specifico dello scenario. Per un'FCI o un gruppo di disponibilità, eseguirli su tutti i possibili nodi proprietari o su tutte le repliche e confrontare i risultati.

  1. Verificare le identità configurate per i servizi SQL Server e SQL Server Agent esaminando il valore Accesso come in Gestione configurazione SQL Server e l'output SERVICE_START_NAME di sc.exe qc.

    Per un'istanza predefinita, eseguire i comandi seguenti.

    sc.exe qc MSSQLSERVER
    sc.exe qc SQLSERVERAGENT
    

    Risultato previsto:SERVICE_START_NAME identifica il gMSA previsto. Per un'istanza denominata, usare MSSQL$<InstanceName> e SQLAgent$<InstanceName>. Sostituire <InstanceName> con il nome dell'istanza.

  2. Verificare che Active Directory possa trovare l'account del servizio gestito di gruppo (gMSA) eseguendo Get-ADServiceAccount e verificando che restituisca l'account corretto.

    Eseguire il comando seguente in una sessione di PowerShell con privilegi elevati.

    Get-ADServiceAccount -Identity 'SQLgMSA' -Properties PrincipalsAllowedToRetrieveManagedPassword
    

    Risultato previsto:Get-ADServiceAccount restituisce l'account previsto ed elenca l'host.

  3. Verificare che l'account del computer host, o un gruppo che lo include, sia elencato in PrincipalsAllowedToRetrieveManagedPassword.

  4. Testare il recupero delle password da ogni host interessato o da un possibile nodo proprietario eseguendo Test-ADServiceAccount in locale e confermando che restituisce True.

    Eseguire il comando seguente in una sessione di PowerShell con privilegi elevati.

    Test-ADServiceAccount -Identity 'SQLgMSA'
    

    Risultato previsto:Test-ADServiceAccount restituisce True in ogni host che può eseguire il servizio SQL Server.

  5. Verificare che Service Control Manager consideri l'account del servizio come gestito eseguendo sc.exe qmanagedaccount per l'esatto SQL Server o SQL Server Agent nome del servizio e verificando che restituisca TRUE.

    Per un'istanza predefinita, eseguire i comandi seguenti.

    sc.exe qmanagedaccount MSSQLSERVER
    sc.exe qmanagedaccount SQLSERVERAGENT
    

    Risultato previsto:qmanagedaccount segnala TRUE.

  6. Verificare la sincronizzazione DNS, l'individuazione del controller di dominio, l'integrità del canale sicuro e la sincronizzazione dell'ora.

    Eseguire i comandi seguenti. Sostituire contoso.com con il nome di dominio Active Directory.

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

    Risultato previsto: viene individuato un controller di dominio, il canale protetto ha esito positivo e lo stato dell'ora è integro.

  7. Se SQL Server viene avviato, verificare lo schema di autenticazione corrente eseguendo sys.dm_exec_connections query da una sessione Windows remota autenticata.

Per ulteriori controlli relativi ai gMSA a livello host che non sono specifici di SQL Server, vedere Risolvere i problemi dei gMSA per i contenitori Windows.

Scegliere un percorso di risoluzione dei problemi

Sintomo osservato Fare riferimento a
L'installazione rifiuta il gMSA o non può convalidarlo Risolvere i problemi di installazione e aggiornamento con i gMSA
L'installazione ha esito negativo con 0x84BB0001 o "Accesso negato" L'installazione ha esito negativo con errore 0x84BB0001
Errore 1069, ID evento 7041 o ID evento 7038 Risolvere i problemi di avvio del servizio con i gMSA
Il servizio ha esito negativo solo durante l'avvio Risolvere i problemi di avvio del servizio con i gMSA
IsManagedAccount o qmanagedaccount è FALSE Risolvere i problemi di avvio del servizio con i gMSA
SQL Server Agent si avvia ma i processi pianificati non riescono Risolvere i problemi relativi agli errori dei processi di SQL Server Agent con gli account del servizio gestito di gruppo (gMSA)
L'installazione di FCI, l'aggiunta di un nodo, l'avvio o il failover non riesce Risolvere i problemi delle istanze del cluster di failover con account del servizio gestiti di gruppo
Errore di fallback NTLM, errore SPN, ACCESSO ANONIMO o errore di autenticazione dell'endpoint del gruppo di disponibilità Risolvere i problemi di Kerberos e gli errori di autenticazione con gMSA
L'aggiornamento non riesce e viene visualizzato l'errore 29569 SQL Server aggiornamento non riesce e viene visualizzato l'errore 29569

Raccogliere i dati di diagnostica

Se la checklist di convalida rapida e i controlli specifici dello scenario non consentono di individuare la causa, raccogliere i dati diagnostici seguenti prima di continuare l'indagine o aprire un caso di supporto. Raccogliere ogni elemento dallo stesso intervallo di errore in modo che l'evidenza sia correlata.

Raccogli le seguenti informazioni specifiche di gMSA da ogni host, nodo o replica interessati:

  • Get-ADServiceAccount output, incluso PrincipalsAllowedToRetrieveManagedPassword.
  • Test-ADServiceAccount risultato.
  • sc.exe qce sc.exe qmanagedaccount output per i servizi di SQL Server e SQL Server Agent.
  • nltest /dsgetdc, nltest /sc_verify e w32tm /query /status uscita.
  • Assegnazioni efficaci dei diritti utente e gpresult output.
  • Proprietà degli SPN e controlli dei duplicati per il gMSA.
  • Per un'istanza del cluster di failover, il log del cluster relativo alla transizione della risorsa.

Raccogliere i dati di diagnostica standard SQL Server seguenti per lo stesso intervallo:

Per la selezione degli strumenti e la raccolta automatica, vedere Risoluzione dei problemi e strumenti di diagnostica per SQL Server. È possibile usare SQL LogScout per automatizzare la raccolta quando è appropriata per l'indagine.