Condividi tramite


Non è possibile avviare il servizio SQL Server e il servizio SQL Server Agent in un server autonomo

Questo articolo illustra come risolvere i problemi in cui il servizio SQL Server e il servizio SQL Server Agent potrebbero non essere avviati in un server autonomo.

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

Sintomi

  • Problema 1: in un server autonomo, il servizio MSSQLSERVER potrebbe non essere avviato e viene visualizzato il messaggio di errore seguente:

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the MSSQLServer Service.
    
  • Problema 2: Analogamente, il servizio SQLServerAgent potrebbe non essere avviato e viene visualizzato il messaggio di errore seguente:

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the SQLServerAgent Service.
    

    Il problema 1 e il problema 2 si verificano quando entrambe le condizioni seguenti sono vere:

    • Il computer server si trova in un gruppo di lavoro e non fa parte di un dominio.
    • I servizi MSSQLSERVER e SQLServerAgent sono impostati per usare un account di dominio per l'avvio.
  • Problema 3: in un server membro di dominio il servizio MSSQLSERVER potrebbe non essere avviato durante l'avvio del server e viene visualizzato il messaggio seguente in Visualizzatore eventi con ID evento 7038:

    The MSSQLSERVER service was unable to log on as domain\mssqlsvc with the currently configured password due to the following error: Source: NetLogon Description: There are currently no logon servers available to service the logon request. The MSSQLSERVER service terminated unexpectedly.
    

    Questo problema si verifica quando vengono soddisfatte tutte le condizioni seguenti:

    • Il server fa parte di un dominio.
    • I servizi MSSQLSERVER e SQLServerAgent sono impostati per usare un account di dominio per l'avvio.
    • La modalità di avvio per MSSQLSERVER e SQLServerAgent è impostata su Automatico.

Causa

Il problema 1 e il problema 2 si verificano perché il server è un computer autonomo e il servizio NetLogon non viene avviato nel server. Di conseguenza, non sono possibili autenticazioni di accesso a livello di dominio.

Il problema 3 si verifica perché i servizi DI SQL Server tentano di iniziare prima dell'avvio del servizio NetLogon.

Risoluzione

  • Per risolvere il problema 1 e il problema 2, seguire questa procedura:

    1. Modificare l'account di avvio di MSSQLSERVER e SQLServerAgent per usare l'account di sistema locale.
    2. Riavviare il server.

    Note

    In un computer autonomo, il servizio NetLogon deve essere impostato per l'avvio manuale .

  • Per risolvere il problema 3, usare le soluzioni alternative seguenti:

    • Configurare l'avvio di SQL Server in modo da ritardare l'avvio per determinati server Windows. Altri servizi Windows, ad esempio NetLogon, vengono prima completati e SQL Server viene avviato senza problemi.

    • Configurare l'avvio di SQL Server per riprovare. L'avvio può essere completato al secondo tentativo di avvio.

    • Modificare il valore Di rilevamento indirizzi duplicati (-DadTransmits) in 1 per tutte le interfacce di rete nel server. Per altre informazioni, vedere il comando Set-NetIPInterface .

    • Modificare le opzioni di ripristino per i servizi SQL Server e SQL Server Agent. 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.

    Se l'opzione di avvio ritardata non è in grado di risolvere il problema 3, aggiungere le dipendenze seguenti al servizio SQL Server:

    • Servizio helper IP
    • Servizio server
    • Servizio elenco di rete

    È possibile aggiungere le dipendenze usando i comandi seguenti. Nell'esempio seguente si presuppone un'istanza MSSQLSERVERdi SQL Server predefinita. Per un'istanza denominata, usare MSSQL$INSTANCENAME:

    sc.exe qc MSSQLSERVER ::view dependencies
    sc.exe config MSSQLSERVER depend=iphlpsvc/LanmanServer/netprofm
    sc.exe qc MSSQLSERVER ::view dependencies
    

    I primi e i terzi comandi visualizzano le dipendenze prima e dopo la modifica.