Freigeben über


sqlservr (Anwendung)

Mithilfe der Anwendung sqlservr können Sie die Ausführung einer Microsoft SQL Server-Instanz von der Eingabeaufforderung aus starten, beenden, anhalten und fortsetzen.

Syntax

sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f] 
     [-eerror_log_path] [-lmaster_log_path] [-m]
     [-n] [-Ttrace#] [-v] [-x] [-gnumber] [-h]

Argumente

  • -sinstance_name
    Gibt die SQL Server-Instanz an, mit der eine Verbindung hergestellt wird. Wenn keine benannte Instanz angegeben wird, startet sqlservr die Standardinstanz von SQL Server.

    Wichtiger HinweisWichtig

    Wenn Sie eine SQL Server-Instanz starten, müssen Sie die sqlservr-Anwendung verwenden, die sich im entsprechenden Verzeichnis für diese Instanz befindet. Bei der Standardinstanz führen Sie sqlservr aus dem Verzeichnis \MSSQL\Binn aus. Bei einer benannten Instanz führen Sie sqlservr aus dem Verzeichnis \MSSQL$instance_name\Binn aus.

  • -c
    Gibt an, dass eine SQL Server-Instanz unabhängig vom Windows-Dienstkontroll-Manager gestartet wird. Diese Option wird verwendet, wenn SQL Server von einer Eingabeaufforderung gestartet wird, um die erforderliche Zeit für das Starten von SQL Server zu verkürzen.

    HinweisHinweis

    Wenn Sie diese Option verwenden, ist es nicht möglich, SQL Server mithilfe des SQL Server-Dienst-Managers oder des Befehls net stop zu beenden. SQL Server wird beendet, wenn Sie sich vom Computer abmelden.

  • -dmaster_path
    Gibt den vollqualifizierten Pfad für die master-Datenbankdatei an. Zwischen -d und master_path darf sich kein Leerzeichen befinden. Wenn diese Option nicht bereitgestellt wird, werden die vorhandenen Registrierungsparameter verwendet.

  • -f
    Startet eine SQL Server-Instanz mit Minimalkonfiguration. Dies ist hilfreich, wenn der Server aufgrund der Einstellung eines Konfigurationswertes (z. B. aufgrund von Arbeitsspeichermangel) nicht gestartet werden kann.

  • -eerror_log_path
    Gibt den vollgekennzeichneten Pfad der Fehlerprotokolldatei an. Wird der Pfad nicht angegeben, wird standardmäßig der Pfad <Drive>:\Programme\Microsoft SQL Server\MSSQL\Log\Errorlog für die Standardinstanz und <Drive>:\Programme\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog für eine benannte Instanz verwendet. Zwischen -e und error_log_path darf sich kein Leerzeichen befinden.

  • -lmaster_log_path
    Gibt den vollqualifizierten Pfad für die Transaktionsprotokolldatei der master-Datenbank an. Zwischen -d und master_log_path darf sich kein Leerzeichen befinden.

  • -m
    Gibt an, dass eine SQL Server-Instanz im Einzelbenutzermodus gestartet werden soll. Wenn SQL Server im Einzelbenutzermodus gestartet wurde, kann nur ein Benutzer eine Verbindung herstellen. Der CHECKPOINT-Mechanismus, der sicherstellt, dass abgeschlossene Transaktionen regelmäßig aus dem Datenträgercache auf die Datenbankmedien geschrieben werden, wird nicht gestartet. (Diese Option wird normalerweise verwendet, wenn Sie Probleme mit Systemdatenbanken erkennen, die eine Reparatur erfordern.) Diese Option aktiviert die Option allow updates von sp_configure. Standardmäßig ist allow updates deaktiviert.

  • -n
    Ermöglicht es Ihnen, eine benannte SQL Server-Instanz zu starten. Wurde der -s-Parameter nicht festgelegt, wird versucht, die Standardinstanz zu starten. Sie müssen an der Eingabeaufforderung in das entsprechende BINN-Verzeichnis für die Instanz wechseln, bevor Sie sqlservr.exe starten. Wenn Instance1 beispielsweise das Verzeichnis \mssql$Instance1 für die zugehörigen Binärdateien verwendet, muss der Benutzer zum Verzeichnis \mssql$Instance1\binn wechseln, um sqlservr.exe -s instance1 starten zu können. Wenn Sie eine SQL Server-Instanz mit der Option -n starten, sollten Sie auch die Option -e verwenden, da sonst keine SQL Server-Ereignisse protokolliert werden.

  • -Ttrace#
    Gibt an, dass eine SQL Server-Instanz so gestartet werden soll, dass ein bestimmtes Ablaufverfolgungsflag (trace#) wirksam wird. Ablaufverfolgungsflags werden verwendet, um den Server mit nicht standardmäßigem Verhalten zu starten. Weitere Informationen finden Sie unter Ablaufverfolgungsflags (Transact-SQL).

    Wichtiger HinweisWichtig

    Wenn Sie ein Ablaufverfolgungsflag angeben, sollten Sie -T verwenden, um die Nummer des Ablaufverfolgungsflags zu übergeben. Der Kleinbuchstabe t (-t) wird von SQL Server akzeptiert; mit -t werden jedoch andere interne Ablaufverfolgungsflags festgelegt, die von SQL Server-Supporttechnikern benötigt werden.

  • -v
    Zeigt die Serverversionsnummer an.

  • -x
    Deaktiviert die Kontrolle der CPU-Zeit und die Statistik für die Cachetrefferquote. Ermöglicht die maximale Leistung.

  • -gmemory_to_reserve
    Gibt in Form einer ganzen Zahl an, wie viele Megabytes (MB) des Arbeitsspeichers SQL Server für Speicherzuordnungen innerhalb des SQL Server-Prozesses, jedoch außerhalb des SQL Server-Speicherpools übrig lässt. Der Arbeitsspeicher außerhalb des Speicherpools ist der Bereich, der von SQL Server zum Laden von Elementen, z. B. .dll-Dateien von erweiterten gespeicherten Prozeduren, den OLE DB-Anbietern, auf die in verteilten Abfragen verwiesen wird, und Automatisierungsobjekten, auf die in Transact-SQL-Anweisungen verwiesen wird, verwendet wird. Die Standardeinstellung ist 256 MB.

    Diese Option kann Ihnen helfen, die Arbeitsspeicherzuordnung zu optimieren. Dies gilt jedoch nur, wenn der physische Speicher die konfigurierte Grenze überschreitet, die vom Betriebssystem für den virtuellen Arbeitsspeicher, der für Anwendungen verfügbar ist, festgelegt wird. Die Verwendung dieser Option kann für Konfigurationen mit sehr viel Arbeitsspeicher geeignet sein, bei denen die Anforderungen an die Speicherauslastung von SQL Server untypisch sind und der virtuelle Adressraum des SQL Server-Prozesses vollständig verwendet wird. Eine falsche Verwendung dieser Option kann dazu führen, dass eine SQL Server-Instanz nicht gestartet werden kann oder dass Laufzeitfehler auftreten.

    Verwenden Sie den Standardwert für den -g-Parameter, es sei denn, das SQL Server-Fehlerprotokoll enthält eine der folgenden Warnungen:

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <größe>"

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <größe>"

    Diese Meldungen können darauf hinweisen, dass SQL Server versucht, Teile des SQL Server-Speicherpools freizugeben, um Speicherplatz für Elemente wie DLL-Dateien von erweiterten gespeicherten Prozeduren oder Automatisierungsobjekte zu erhalten. In diesem Fall sollten Sie erwägen, den durch -greservierten Umfang an Arbeitsspeicher zu erhöhen.

    Wenn Sie einen Wert verwenden, der niedriger als der Standardwert ist, erhöht sich dadurch der Umfang des Arbeitsspeichers, der für den Pufferpool und die Threadstapel zur Verfügung steht. Dies kann wiederum eine gewisse Verbesserung der Leistung für arbeitsspeicherintensive Arbeitsauslastungen in Systemen bedeuten, die nicht viele erweiterte gespeicherte Prozeduren, verteilte Abfragen oder Automatisierungsobjekte verwenden.

  • -h
    Reserviert virtuellen Adressraum für Metadaten zum Hinzufügen von Speicher im laufenden Systembetrieb (Hot Add Memory), wenn AWE mit der 32-Bit-Version von SQL Server aktiviert ist. Die Option ist für die Hot Add Memory-Funktion mit 32-Bit-AWE erforderlich, beansprucht jedoch ungefähr 5 GB an virtuellem Adressraum und erschwert die Optimierung der Arbeitsspeicherzuordnung. Für die 64-Bit-Version von SQL Server ist die Option nicht erforderlich.

Hinweise

In den meisten Fällen wird das Programm sqlserver.exe nur zur Problembehandlung oder für größere Wartungsarbeiten verwendet. Wenn SQL Server mithilfe von sqlservr.exe von der Eingabeaufforderung aus gestartet wird, wird SQL Server nicht als Dienst gestartet. Es ist daher nicht möglich, SQL Server mithilfe von net-Befehlen zu beenden. Benutzer können Verbindungen mit SQL Server herstellen, aber da SQL Server-Tools den Status des Dienstes anzeigen, gibt der SQL Server-Konfigurations-Manager richtigerweise an, dass der Dienst beendet wurde. SQL Server Management Studio kann eine Verbindung mit dem Server herstellen, zeigt aber ebenfalls an, dass der Dienst beendet wurde.