Vorgehensweise: Starten einer Instanz von SQL Server (sqlservr.exe)

Wenn SQL Server Database Engine (Datenbankmodul) nicht gestartet wird, besteht ein Problembehandlungsschritt darin, zu versuchen, Database Engine (Datenbankmodul) von der Eingabeaufforderung aus zu starten. In diesem Thema wird das Starten einer Instanz von Database Engine (Datenbankmodul) beschrieben.

HinweisHinweis

SQL Server sollte nur zu Problembehandlungszwecken von der Eingabeaufforderung gestartet werden. Weitere Informationen zum Starten von SQL Server Database Engine (Datenbankmodul) für die routinemäßige Verwendung finden Sie unter Vorgehensweise: Starten einer Instanz von SQL Server (SQL Server-Konfigurations-Manager).

Der normale Start von SQL Server ist eine komplexe Aktivität, für die ordnungsgemäß platzierte SQL Server-Dateien, für SQL Server und Microsoft konfigurierte Windows-Dienste und die richtigen Datei- und Registrierungsberechtigungen für das vom SQL Server-Dienst verwendete Domänenkonto erforderlich sind. Aus diesem Grund besteht ein allgemeiner Problembehandlungsschritt darin, festzustellen, ob SQL Server unter optimalen Bedingungen gestartet werden kann, indem die Umgebung vereinfacht wird. Am Anfang des normalen Problembehandlungsprozesses steht die Frage, ob SQL Server mithilfe eines Kontos, das sich in der Gruppe der lokalen Administratoren befindet, und ohne das Verwenden des Windows-Dienststeuerungs-Managers gestartet werden kann. Falls diese Frage mit ja beantwortet werden kann, hängt das Problem möglicherweise mit dem Dienststeuerungs-Manager oder mit den Berechtigungen zusammen, die dem Konto zugewiesen sind, das der SQL Server -Dienst zu verwenden versucht. Die Antwort nein führt möglicherweise zu einer Fehlermeldung, die zuvor nicht vom Dienststeuerungs-Manager angezeigt wurde und auf Probleme mit den SQL Server-Dateien oder den Registrierungseinstellungen hinweist.

VorsichtshinweisVorsicht

Führen Sie SQL Server ausschließlich dann über die Befehlszeile aus, wenn Sie testen möchten, ob SQL Server gestartet werden kann. Wartungsaktionen, die ausgeführt werden, nachdem SQL Server über die Befehlszeile gestartet wurde, können später Fehler verursachen. Wenn Sie beispielsweise als Administrator angemeldet sind und eine neue Datenbank erstellen oder den Speicherort einer Datendatei ändern, kann SQL Server möglicherweise bei der Ausführung zu einem späteren Zeitpunkt unter dem normalen Konto für den SQL Server-Dienst nicht mehr darauf zugreifen.

Berücksichtigen Sie die folgenden Beschränkungen, wenn Sie SQL Server über die Befehlszeile ausführen:

  • Das Minimieren des Eingabeaufforderungsfensters bewirkt, dass Windows nahezu alle Ressourcen aus SQL Server entfernt. Dies ist normal, da SQL Server nicht auf diese Art der Verwendung ausgerichtet ist.

  • SQL Server wird im Sicherheitskontext des Benutzers ausgeführt und nicht im Sicherheitskontext des Kontos, welches zugewiesen wurde, um SQL Server während der Installation auszuführen.

  • Alle Systemmeldungen werden in dem Fenster angezeigt, das zum Starten einer Instanz von SQL Server verwendet wird.

  • Sie können eine Instanz von SQL Server nicht als Microsoft Windows-Dienst mithilfe von SQL Server Management Studio, dem SQL Server-Konfigurations-Manager, der Anwendung Dienste in der Systemsteuerung oder einem der net-Befehle (z. B. net start, net pause, net continue und net stop) anhalten, beenden oder fortsetzen.

  • Sie müssen die Instanz von SQL Server herunterfahren, bevor Sie sich von Windows abmelden.

  • Alle an der Eingabeaufforderung eingegebenen Optionen haben Vorrang vor den Standardoptionen der Eingabeaufforderung, die von SQL Server Setup in die Windows-Registrierung geschrieben wurden.

  • Der SQL Server-Konfigurations-Manager und SQL Server Management Studio zeigen den Dienst als beendet an.

Starten der richtigen Instanz von SQL Server

Standardmäßig befindet sich sqlservr.exe im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn. Wenn eine zweite Instanz von SQL Server installiert ist, befindet sich eine zweite Kopie von sqlservr.exe beispielsweise im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn. Sie können eine Instanz von SQL Server starten, indem Sie sqlservr.exe von einer anderen Instanz aus verwenden. SQL Server startet die falsche Instanz einschließlich der Service Packs jedoch zusätzlich, was zu unerwarteten Ergebnissen führen kann. Verwenden Sie, um dies zu vermeiden, den MS-DOS-Befehl zum Ändern des Verzeichnisses (cd), und verschieben Sie die Datei in das richtige Verzeichnis, bevor Sie sqlservr.exe starten. Beispiel:

cd \Programme\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn

So starten Sie die Standardinstanz von SQL Server von der Eingabeaufforderung

  • Geben Sie an einer Eingabeaufforderung folgenden Befehl ein:

    sqlservr.exe
    

So starten Sie eine benannte Instanz von SQL Server von einer Eingabeaufforderung

  • Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein, und ersetzen Sie <instancename> durch den Namen der Instanz, die Sie starten möchten:

    sqlservr.exe -s <instancename>
    

So starten Sie die Standardinstanz von SQL Server im Einzelbenutzermodus von einer Eingabeaufforderung

  • Geben Sie an einer Eingabeaufforderung folgenden Befehl ein:

    sqlservr.exe -m
    

    Der Einzelbenutzermodus kann für die Ausführung von Notfallwartungsvorgängen sinnvoll sein, wenn Sie nicht möchten, dass andere Benutzer eine Verbindung mit SQL Server herstellen, aber ein beliebiger Benutzer Einzelbenutzer werden kann (einschließlich des SQL Server-Agent-Diensts).

So starten Sie eine benannte Instanz von SQL Server im Einzelbenutzermodus von einer Eingabeaufforderung

  • Geben Sie an einer Eingabeaufforderung folgenden Befehl ein:

    sqlservr.exe -m -s <instancename>
    

So starten Sie die Standardinstanz von SQL Server mit der Minimalkonfiguration

  • Geben Sie an einer Eingabeaufforderung folgenden Befehl ein:

    sqlservr.exe -f
    

So starten Sie eine benannte Instanz von SQL Server mit der Minimalkonfiguration

  • Geben Sie an einer Eingabeaufforderung folgenden Befehl ein:

    sqlservr.exe -f -s <instancename>