Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Versione originale del prodotto: SQL Server
Numero KB originale: 282254
Summary
L'errore 1069, "Il servizio non è stato avviato a causa di un errore di accesso", si verifica quando il servizio SQL Server o SQL Server Agent non riesce a effettuare l'accesso usando l'account del servizio configurato. Questo articolo illustra come risolvere l'errore 1069 quando le voci del registro eventi di sistema mostrano l'ID evento di Service Control Manager 7041 o l'ID evento 7038. Le cause includono un diritto "Log on as a service" mancante, un account disabilitato o bloccato, una password scaduta o errata e un dominio che non è raggiungibile durante l'avvio.
Sintomi
Quando si tenta di riavviare Microsoft SQL Server o SQL Server Agent, il servizio non viene avviato e vengono visualizzati i messaggi di errore seguenti, a seconda di come si tenta di avviare il servizio:
Usando l'applet Servizi:
Windows non è riuscito ad avviare il servizio SQL Server nel Computer locale.
Errore 1069: il servizio non è stato avviato a causa di un errore di accesso.Usando un prompt dei comandi:
Si è verificato l'errore di sistema 1069.
Il servizio non è stato avviato a causa di un errore di accesso.
È possibile trovare messaggi con ID evento 7041 o 7038 registrati nel registro eventi di sistema.
Causa
Questo problema si verifica perché si verifica un problema relativo all'account del servizio stesso o alle informazioni attualmente salvate per l'account del servizio.
Quale risoluzione si applica al tuo ID evento
Usare l'ID evento e il testo dell'errore nel registro eventi di sistema per selezionare la risoluzione:
| ID evento | Testo dell'errore nell'evento | Resolution |
|---|---|---|
| 7041 | Errore di accesso: all'utente non è stato concesso il tipo di accesso richiesto per questo computer. | Risoluzione per l'ID evento 7041 |
| 7038 | Questo utente non può accedere perché questo account è attualmente disabilitato. | L'account è disabilitato |
| 7038 | La password dell'utente deve essere modificata prima dell'accesso. | La password deve essere modificata |
| 7038 | Il nome utente o la password non sono corretti. | Password non corretta o flag gMSA |
| 7038 | L'account di riferimento è attualmente bloccato e potrebbe non essere possibile accedervi. | Account bloccato |
| 7038 | il dominio specificato non esiste o non è stato possibile contattarlo. | Non è possibile contattare il dominio |
Risoluzione per l'ID evento 7041
La voce con ID evento 7041 nel registro eventi di sistema potrebbe contenere il messaggio di errore seguente:
Errore di accesso: all'utente non è stato concesso il tipo di accesso richiesto per questo computer.
La voce di messaggio completa nel registro eventi è simile alla seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7041
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as NT Service\MSSQLSERVER with the currently configured password due to the following error:
Logon failure: the user has not been granted the requested logon type at this computer.
Service: MSSQLSERVER
Domain and account: <AccountName>
This service account does not have the required user right "Log on as a service."
User Action
Assign "Log on as a service" to the service account on this computer. You can use Local Security Settings (Secpol.msc) to do this.
If this computer is a node in a cluster, check that this user right is assigned to the Cluster service account on all nodes in the cluster.
If you have already assigned this user right to the service account, and the user right appears to be removed,
check with your domain administrator to find out if a Group Policy object associated with this node might be removing the right.
Per risolvere questo problema, verificare quali diritti utente sono assegnati all'account del servizio SQL Server.
Avviare lo snap-in Criteri di sicurezza locali (
secpol.msc).Espandere Criteri locali e quindi selezionare Assegnazione diritti utente.
Verificare che i diritti utente richiesti siano assegnati all'account del servizio seguendo le istruzioni riportate in Windows privilegi e diritti. Assegnare manualmente eventuali autorizzazioni mancanti.
Controllare se all'account del servizio sono assegnati diritti utente di tipo Nega. Rimuovere tutti i diritti utente Nega dall'account del servizio di SQL Server e quindi ripetere il test.
Ad esempio, se all'account del servizio viene assegnato Nega accesso come servizio
SeDenyServiceLogonRightinsieme ad Accesso come servizioSeServiceLogonRight, revocare ilSeDenyServiceLogonRightdiritto di accesso e riavviare SQL Server.
Risoluzione per l'ID evento 7038
Nelle voci di log correlate all'ID evento 7038 è possibile trovare i messaggi di errore seguenti:
- Questo utente non può accedere perché questo account è attualmente disabilitato.
- La password dell'utente deve essere modificata prima dell'accesso.
- Il nome utente o la password non sono corretti.
- L'account a cui si fa riferimento è attualmente bloccato e potrebbe non essere possibile accedervi.
- Il dominio specificato non esiste o non può essere contattato.
Questo utente non può accedere perché questo account è attualmente disabilitato
La voce di messaggio completa nel registro eventi è simile alla seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
This user can't sign in because this account is currently disabled.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Per risolvere questo problema, usare uno dei metodi seguenti in base allo scenario:
Se SQL Server account di avvio è un account utente locale nel computer, aprire Gestione computer (compmgmt.msc) e verificare se l'account del servizio è disabilitato in Utenti e gruppi locali. Se è disabilitato, abilitare l'account e riavviare il servizio SQL Server.
Se l'account di avvio di SQL Server è un account di dominio Windows, verificare se l'account è disabilitato in Utenti e computer di Active Directory. Se è disabilitato, abilitare l'account e riavviare il servizio SQL Server.
La password dell'utente deve essere modificata prima dell'accesso
La voce di messaggio completa nel registro eventi è simile alla seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user's password must be changed before signing in.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Per risolvere questo problema, usare uno dei metodi seguenti in base allo scenario:
Se l'account di avvio SQL Server è un account utente locale nel computer:
- Apri Gestione computer (compmgmt.msc).
- Selezionare Utenti e gruppi locali e quindi selezionare Utenti per individuare l'account.
- Fare doppio clic sull'account utente per aprire le proprietà.
- Deselezionare la proprietà L'utente deve modificare la password al prossimo accesso per l'account di avvio di SQL Server e selezionare OK.
- Riavviare il servizio SQL Server.
Se l'account di avvio SQL Server è un account di dominio Windows:
- Aprire Utenti e computer di Active Directory su un controller di dominio.
- Selezionare Utenti sotto il dominio corretto.
- Fare doppio clic sull'account di dominio usato come account del servizio SQL Server per aprire le proprietà.
- Passare alla scheda Account per verificare se User must change password at next logon è abilitata. Se l'opzione è abilitata, deselezionare questa opzione o accedere in modo interattivo a un computer client Windows e quindi impostare una nuova password.
- Se è stata modificata la password, aggiornare la nuova password per il servizio SQL Server usando lo Gestione configurazione SQL Server.
Il nome utente o la password non sono corretti
Per un problema di password non corretto, la voce di messaggio completa nel registro eventi è simile alla voce seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user name or password is incorrect.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Per risolvere il problema, seguire questa procedura:
Scenario 1: Password non corretta
La voce del messaggio di errore indica che il nome di accesso o la password corrente non è corretto. Per verificare e risolvere il problema, seguire questa procedura:
Usare l'opzione
runasper testare le credenziali dell'account del servizio:Aprire un prompt dei comandi di Windows.
Esegui questo comando:
runas /user:<localmachine>\<SQLServiceAccount> cmd
Se il comando ha esito positivo, digitare attentamente le stesse credenziali in Gestione configurazione SQL Server, Servizi, servizio SQL Server e Questo account.
Se il comando ha esito negativo e segnala lo stesso problema, reimpostare la password per l'accesso Windows.
Se l'account di avvio di SQL Server è un account utente locale nel computer, aprire Gestione computer (compmgmt.msc) e reimpostare la password dell'utente locale.
Se l'account di avvio di SQL Server è un account di dominio di Windows, aprire Utenti e computer di Active Directory e quindi aggiornare la password per l'account in Utenti. Dopo aver aggiornato le credenziali, tornare a Gestione configurazione di SQL Server, Servizi, SQL Server e immettere le stesse credenziali.
Riavviare il servizio SQL Server.
Per digitare la password corretta nell'account di servizio di SQL Server nel computer host di SQL Server, seguire le procedure descritte in SCM Services - Modificare la password degli account usati.
Scenario 2: il flag IsManagedAccount di gMSA è impostato in modo non corretto
Se si usa un account del servizio gestito del gruppo (gMSA) per eseguire il servizio SQL Server e il IsManagedAccount flag per il servizio specificato è impostato su false, si potrebbe ricevere un ID evento di Service Control Manager 7038 non appena il segreto memorizzato nella cache non è valido.
Per identificare e risolvere il problema, seguire questa procedura:
Verificare che l'account in uso sia un account gMSA. Procedere solo dopo aver confermato gMSA.
- Se il comando seguente ha esito positivo rispetto all'account, si usa un account gMSA.
- Se non riesce con
Cannot find an object with identity: 'account', l'account del servizio non è un account gMSA.
Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSetPer altre informazioni, vedere Controllare l'account gMSA.
Eseguire il comando seguente nel prompt dei comandi e controllare lo stato di
IsManagedAccount. Il risultato desiderato è true. Se è false, procedere ulteriormente.sc qmanagedaccount <YourSQLServiceName>Esempio di un'istanza denominata SQLPROD di SQL Server:
sc qmanagedaccount MSSQL$SQLPRODImpostare il flag su true come desiderato.
sc managedaccount <YourSQLServiceName> TRUEUn esempio di un'istanza SQL Server denominata SQLPROD:
sc managedaccount MSSQL$SQLPROD TRUEProvare ad avviare nuovamente il servizio.
Per altre procedure di risoluzione dei problemi specifiche per gli account del servizio gestito del gruppo, vedere Risolvere gli errori di avvio del servizio SQL Server con account del servizio gestito del gruppo.
L'account a cui si fa riferimento è attualmente bloccato e potrebbe non essere possibile accedervi
La voce di messaggio completa nel registro eventi è simile alla seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The referenced account is currently locked out and may not be logged on to.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Per risolvere questo problema, usare uno dei metodi seguenti in base allo scenario:
Se l'account di avvio SQL Server è un account utente locale nel computer:
- Aprire Gestione computer (compmgmt.msc) e passare a Utenti e gruppi locali. Quindi, selezionare Utenti.
- Deselezionare la casella di controllo Account bloccato per l'account di avvio di SQL Server in Utenti e gruppi locali e selezionare OK.
- Riavviare il servizio SQL Server.
Se l'account di avvio SQL Server è un account di dominio Windows:
- Aprire Utenti e computer di Active Directory nel controller di dominio.
- In Utenti fare doppio clic sull'account di avvio di SQL Server e passare alla scheda Account .
- Controllare se l'account è contrassegnato come bloccato.
- Se l'account è bloccato, selezionare la casella di controllo Sblocca account e quindi selezionare OK. Impostare una password complessa.
- Usare quindi le stesse credenziali per la configurazione dell'account del servizio SQL Server in Gestione configurazione SQL Server, servizi e SQL Server.
- Riavviare il servizio SQL Server.
Il dominio specificato non esiste o non è stato possibile contattarlo
La voce di messaggio completa nel registro eventi è simile alla seguente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as xxx with the currently configured password due to the following error:
The specified domain either does not exist or could not be contacted.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Per risolvere questo problema, usare uno dei metodi seguenti in base allo scenario:
Configurare l'avvio ritardato di SQL Server per determinati server Windows, in modo da garantire che altri servizi Windows, ad esempio Netlogon, vengano completati prima e che SQL Server si avvii senza problemi. Si tratta della configurazione predefinita eseguita dal programma di installazione di SQL a partire da SQL Server 2022.
Se l'opzione di avvio ritardata non risolve il problema per lo scenario, modificare le opzioni di ripristino per i servizi SQL Server. Specificare Riavvia il servizio come azione per le opzioni di arresto anomalo. Eseguire questa operazione dall'applet Servizi in Strumenti di amministrazione usando le familiari interfacce di Service Control Manager.
- Questa opzione non è consigliata per le istanze del cluster di failover SQL o per i gruppi di disponibilità perché l'impostazione potrebbe causare ritardi durante gli scenari di failover automatico.
Se nessuna delle opzioni precedenti è fattibile, configurare il servizio SQL Server per avere una dipendenza dal servizio Netlogon eseguendo il comando seguente in una console della riga di comando con privilegi elevati:
sc config <YourSQLServiceName> depend=keyiso/netlogonEsempio di un'istanza denominata SQLPROD di SQL Server:
sc config MSSQL$SQLPROD depend=keyiso/netlogon