Risolvere i problemi di avvio del servizio SQL Server con account del servizio gestiti di gruppo (gMSA)

Si applica a: SQL Server su Windows

Sommario

Questo articolo illustra come risolvere gli errori di avvio del servizio SQL Server e SQL Server Agent, ad esempio l'errore 1069, l'ID evento 7041 e l'ID evento 7038, quando il servizio viene eseguito con un account del servizio gestito del gruppo (gMSA). Vengono illustrati il recupero delle password gestite, il flag IsManagedAccount, la connettività del dominio e gli errori che si verificano solo durante l'avvio.

Prima di iniziare, esaminare i prerequisiti ed eseguire la checklist rapida di convalida in Risolvere i problemi di installazione, avvio e autenticazione di SQL Server con gli account del servizio gestito di gruppo (gMSA).

Symptoms

  • SQL Server o SQL Server Agent non riesce ad avviare e segnala l'errore 1069" "Il servizio non è stato avviato a causa di un errore di accesso".
  • Il log di sistema contiene l'ID evento di Service Control Manager 7041 o l'ID evento 7038.
  • Il servizio non viene avviato automaticamente dopo il riavvio dell'host, ma viene avviato manualmente in un secondo momento.

Cause

L'errore 1069 con ID evento 7041 o 7038 non è specifico dei gMSA. L'ID evento 7041 indica un diritto di accesso mancante e l'ID evento 7038 indica un problema di account, password o contatto di dominio. Quando l'account del servizio è un gMSA (account del servizio gestito di gruppo), l'ID evento 7038 può anche indicare che l'host non riesce a ottenere la password gestita oppure che il Service Control Manager non tratta l'account come gestito.

Diagnosticare gli errori di avvio del servizio

Per il set completo di cause e risoluzioni per l'errore 1069, tra cui assegnazione di diritti utente, assegnazioni di rifiuto, account disabilitati o bloccati e servizi che non possono contattare il dominio all'avvio, vedere L'errore 1069 si verifica all'avvio del servizio SQL Server.

Quando l'account di servizio è un gMSA, verificare innanzitutto le condizioni seguenti:

  1. Verificare l'identità del servizio configurata con sc.exe qc.
  2. Verificare che Test-ADServiceAccount restituisca True sull'host interessato e su ogni possibile nodo proprietario per un'istanza del cluster di failover (FCI).
  3. Confermare che l'account del computer host, o un gruppo che lo include, sia elencato in PrincipalsAllowedToRetrieveManagedPassword.
  4. Verificare che sc.exe qmanagedaccount riporti TRUE per il servizio interessato. Se segnala FALSE, segui i passaggi in Il flag IsManagedAccount di gMSA è impostato in modo non corretto.
  5. Verificare l'individuazione del controller di dominio, l'integrità del canale sicuro e la sincronizzazione dell'ora con nltest e w32tm.

Correlare un errore che si verifica solo all'avvio

Se il servizio non si avvia automaticamente dopo il riavvio dell'host, ma viene avviato manualmente in un secondo momento, confrontare i timestamp di avvio del server, di DNS, di Netlogon, del rilevamento del dominio e di SQL Server con l'ora del guasto. Un controllo che non riesce all'avvio ma riesce dopo che l'host è completamente operativo conferma un problema di ordine di avvio piuttosto che un problema di configurazione del gMSA. Per le risoluzioni, inclusi l'avvio ritardato e la dipendenza del servizio Netlogon, vedere Il dominio specificato non esiste o non è stato contattato.

Risolvere gli errori di avvio del servizio

  • Correggere l'account specifico, il recupero delle password, l'account gestito o la condizione di dominio identificata dall'evidenza.
  • Usare Gestione configurazione SQL Server per tutte le modifiche dell'account del servizio supportate. Per altre informazioni, vedere Modificare l'account di avvio del servizio.
  • Riavviare il servizio e verificare che l'ID evento 7038 o l'ID evento 7041 non si verifichi nuovamente, incluso dopo un riavvio controllato dell'host.

Note

Per un'istanza del cluster di failover, mantenere l'avvio gestito dal cluster anziché modificare la modalità di avvio del servizio Windows. Vedere Risolvere gli errori dell'istanza del cluster di failover di SQL Server con gMSA.

Raccogliere i dati di diagnostica

Se il servizio non viene ancora avviato dopo aver completato questi passaggi, raccogliere i dati di diagnostica dall'host interessato per lo stesso intervallo di errore. Per informazioni specifiche su gMSA e sui log standard di SQL Server da raccogliere, vedere Raccogliere dati diagnostici nella panoramica sulla risoluzione dei problemi di gMSA. Usa questi dati per continuare l'analisi o per aprire una richiesta di supporto.