Freigeben über


Der SQL Server-Dienst und der SQL Server-Agent Dienst können nicht auf einem eigenständigen Server gestartet werden.

Dieser Artikel hilft Ihnen, die Probleme zu beheben, bei denen der SQL Server-Dienst und der SQL Server-Agent-Dienst möglicherweise nicht auf einem eigenständigen Server gestartet werden.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 307288

Problembeschreibung

  • Problem 1: Auf einem eigenständigen Server kann der MSSQLSERVER-Dienst nicht gestartet werden, und Sie erhalten die folgende Fehlermeldung:

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the MSSQLServer Service.
    
  • Problem 2: Ebenso kann der SQLServerAgent-Dienst nicht gestartet werden, und Sie erhalten die folgende Fehlermeldung:

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

    Problem 1 und Problem 2 treten auf, wenn beide der folgenden Bedingungen zutreffen:

    • Der Servercomputer befindet sich in einer Arbeitsgruppe und nicht teil einer Domäne.
    • Sowohl die MSSQLSERVER- als auch die SQLServerAgent-Dienste sind so festgelegt, dass ein Domänenkonto für den Start verwendet wird.
  • Problem 3: Auf einem Domänenmitgliedsserver wird der MSSQLSERVER-Dienst möglicherweise während des Serverstarts nicht gestartet, und Sie erhalten die folgende Meldung in Ereignisanzeige mit der Ereignis-ID 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.
    

    Dieses Problem tritt auf, wenn alle folgenden Bedingungen erfüllt sind:

    • Der Server ist Teil einer Domäne.
    • Sowohl die MSSQLSERVER- als auch die SQLServerAgent-Dienste sind so festgelegt, dass ein Domänenkonto für den Start verwendet wird.
    • Der Startmodus für den MSSQLSERVER und SQLServerAgent ist auf " Automatisch" festgelegt.

Ursache

Problem 1 und Problem 2 treten auf, da der Server ein eigenständiger Computer ist und der NetLogon-Dienst nicht auf dem Server gestartet wird. Daher sind keine domänenweiten Anmeldeauthentifizierungen möglich.

Problem 3 tritt auf, da SQL Server-Dienste versuchen, vor dem Start des NetLogon-Diensts zu starten.

Lösung

  • Führen Sie die folgenden Schritte aus, um Problem 1 und Problem 2 zu beheben:

    1. Ändern Sie das Startkonto von MSSQLSERVER und SQLServerAgent so, dass das lokale Systemkonto verwendet wird.
    2. Starten Sie den Server neu.

    Notiz

    Auf einem eigenständigen Computer sollte der NetLogon-Dienst für den manuellen Start festgelegt werden.

  • Verwenden Sie zum Beheben von Problem 3 die folgenden Problemumgehungen:

    • Konfigurieren Sie den SQL Server-Start so, dass der Start für bestimmte Windows-Server verzögert wird . Andere Windows-Dienste wie NetLogon schließen zuerst ab und SQL Server wird ohne Probleme gestartet.

    • Konfigurieren Sie den SQL Server-Start, um den Vorgang zu wiederholen. Der Start kann beim zweiten Startversuch abgeschlossen werden.

    • Ändern Sie den Wert 1 der doppelten Adresserkennung (-DadTransmits) für alle Netzwerkschnittstellen auf dem Server. Weitere Informationen finden Sie im Befehl "Set-NetIPInterface" .

    • Ändern Sie die Wiederherstellungsoptionen für SQL Server- und SQL Server-Agent Dienste. Geben Sie den Dienst neu als Aktion für die Fehleroptionen an. Sie können diese Option mit dem Dienste-Applet der Verwaltungstools über die vertrauten Oberflächen des Dienststeuerungs-Managers nutzen.

    Wenn die Option "Verzögerter Start" Problem 3 nicht beheben kann, fügen Sie dem SQL Server-Dienst die folgenden Abhängigkeiten hinzu:

    • IP-Hilfsdienst
    • Serverdienst
    • Netzwerklistendienst

    Sie können die Abhängigkeiten mithilfe der folgenden Befehle hinzufügen. Im folgenden Beispiel wird eine SQL Server-Standardinstanz MSSQLSERVERvorausgesetzt. Verwenden Sie MSSQL$INSTANCENAMEfür eine benannte Instanz Folgendes:

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

    Die ersten und dritten Befehle zeigen die Abhängigkeiten vor und nach der Änderung an.