Condividi tramite


L'errore 1069 si verifica quando si avvia il servizio SQL Server

Viene visualizzato l'errore 1069 all'avvio del servizio SQL Server, che causa un errore di accesso. Questo articolo fornisce soluzioni per gli eventi correlati all'errore 1069.

Versione originale del prodotto: SQL Server
Numero KB originale: 282254

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.

Risoluzione per l'ID evento 7041

La voce con ID evento 7041 nel registro eventi di sistema può contenere il messaggio di errore seguente:

Errore di accesso: all'utente non è stato concesso il tipo di accesso necessario per il 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.

  1. Avviare i criteri di sicurezza locali (Start -> Secpol.msc).

  2. Espandere Criteri locali e quindi selezionare Assegnazione diritti utente.

  3. Verificare che i diritti utente richiesti siano assegnati all'account del servizio seguendo le istruzioni riportate in Privilegi e diritti di Windows. Assegnare manualmente eventuali autorizzazioni mancanti.

  4. Controllare se all'account del servizio sono state assegnate autorizzazioni Deny*. Rimuovere le autorizzazioni Deny* dall'account del servizio SQL e quindi eseguire il nuovo tentativo.

    Ad esempio, se all'account del servizio è stato assegnato Nega accesso come servizio SeDenyServiceLogonRight insieme all'accesso come servizioSeServiceLogonRight, revocare il SeDenyServiceLogonRight diritto per l'accesso e riavviare SQL Server.

Risoluzione per l'ID evento 7038

Nelle voci di log che sono l'ID evento 7038 correlato, è possibile trovare i messaggi di errore seguenti:

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 l'account di avvio di SQL Server è 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 di 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 di SQL Server è un account utente locale nel computer:

    1. Aprire Gestione computer (compmgmt.msc).
    2. Selezionare Utenti e gruppi locali e quindi utenti per individuare l'account.
    3. Fare doppio clic sull'account utente per aprire le proprietà.
    4. Deselezionare la proprietà user must change password at next logon property for SQL Server Startup Account (L'utente deve modificare la password all'account di accesso successivo per l'account di avvio di SQL Server) e premere OK.
    5. Riavviare il servizio SQL Server.
  • Se l'account di avvio di SQL Server è un account di dominio di Windows:

    1. Aprire Utenti e computer di Active Directory in un controller di dominio.
    2. Selezionare Utenti nel dominio corretto.
    3. Fare doppio clic sull'account di dominio usato come account del servizio SQL Server per aprire le proprietà.
    4. Passare alla scheda Account per verificare se l'utente deve modificare la password al successivo accesso è abilitato. Se l'opzione è abilitata, deselezionare questa opzione o accedere in modo interattivo a un computer client Windows e quindi impostare una nuova password.
    5. Se è stata modificata la password, aggiornare la nuova password per il servizio SQL Server usando lo strumento di 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 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 correnti non sono corretti. Per verificare e risolvere il problema, seguire questa procedura:

  1. Usare l'opzione runas per testare le credenziali dell'account del servizio:

    1. Aprire un prompt dei comandi di Windows.

    2. Esegui questo comando:

      runas /user:<localmachine>\<SQLSerivceAccount> cmd
      
  2. Se il comando ha esito positivo, digitare attentamente le stesse credenziali in Gestione configurazione SQL Server, Servizi, servizio SQL Server e Questo account.

  3. Se il comando non riesce e segnala lo stesso problema, è necessario reimpostare la password per l'accesso a Windows.

  4. 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.

  5. 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 al Gestione configurazione SQL Server, Servizi, SQL Server e immettere le stesse credenziali.

  6. Riavviare il servizio SQL Server.

    Per digitare la password corretta nell'account del servizio SQL Server nel computer host di SQL Server, seguire le procedure descritte in SCM Services - Modificare la password degli account usati.

Scenario 2: l'account del servizio gestito del gruppo IsManagedAccount Flag è impostato in modo non corretto

Se si usa un account del servizio gestito del gruppo per eseguire il servizio SQL Server e il IsManagedAccount flag per il servizio specificato è impostato su false, è possibile che venga visualizzato 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:

  1. Verificare che l'account in uso sia un account del servizio gestito del gruppo. Procedere solo dopo la conferma dell'account del servizio gestito del gruppo.

    • Se il comando seguente ha esito positivo rispetto all'account, si usa un account gMSG.
    • Se ha esito negativo con Cannot find an object with identity: 'account', l'account del servizio non è un account del servizio gestito del gruppo.
    Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
    

    Per altre informazioni, vedere Controllare l'account del servizio gestito del gruppo.

  2. 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 SQL Server denominato istanza SQLPROD:

    sc qmanagedaccount MSSQL$SQLPROD
    
  3. Impostare il flag su true come desiderato.

    sc managedaccount <YourSQLServiceName> TRUE
    

    Esempio di SQL Server denominato istanza SQLPROD:

    sc managedaccount MSSQL$SQLPROD TRUE
    
  4. Tentare di riavviare il servizio.

L'account a cui si fa riferimento è attualmente bloccato e potrebbe non essere connesso a

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 di SQL Server è un account utente locale nel computer:

    1. Aprire Gestione computer (compmgmt.msc) e passare a Utenti e gruppi locali. Selezionare quindi Utenti.
    2. Deselezionare la casella di controllo Account bloccato per l'account di avvio di SQL Server in Utenti e gruppi locali e selezionare OK.
    3. Riavviare il servizio SQL Server.
  • Se l'account di avvio di SQL Server è un account di dominio di Windows:

    1. Aprire Utenti e computer di Active Directory nel controller di dominio.
    2. In Utenti fare doppio clic sull'account di avvio di SQL Server e passare alla scheda Account .
    3. Controllare se l'account è contrassegnato come bloccato.
    4. Se l'account è bloccato, selezionare la casella Sblocca account e selezionare OK, impostare una password complessa.
    5. Usare quindi le stesse credenziali per la configurazione dell'account del servizio SQL Server in Gestione configurazione SQL Server, servizi e SQL Server.
    6. Riavviare il servizio SQL Server.

Il dominio specificato non esiste o non è stato possibile contattare

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 di SQL Server in modo da ritardare l'avvio per determinati server Windows, che garantisce il completamento di altri servizi Windows, ad esempio NetLogon, prima e SQL Server viene avviato 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, un'opzione alternativa consiste nel modificare le opzioni di ripristino per i servizi di SQL Server. Specificare "Riavvia il servizio" come azione per le opzioni di errore. È possibile eseguire questa opzione dall'applet dei servizi degli strumenti di amministrazione usando le interfacce note di Gestione controllo servizi.

    • 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, è possibile configurare il servizio SQL Server in modo che abbia una dipendenza dal servizio NETLOGON usando il comando seguente in una console della riga di comando con privilegi elevati:

    sc config <YourSQLServiceName> depend=keyiso/netlogon
    

    Esempio di SQL Server denominato istanza SQLPROD:

    sc config MSSQL$SQLPROD depend=keyiso/netlogon