Verwenden des Hilfsprogramms sqlcmd (SQL Server Express)

Sie können die Datenbanken von Microsoft SQL Server 2008 Express (SQL Server Express) mithilfe des Hilfsprogramms sqlcmd von der Eingabeaufforderung aus verwalten. Klicken Sie auf Start, Ausführen, und geben Sie sqlcmd.exe ein, um das Hilfsprogramm sqlcmd aufzurufen.

SQLCMD-Syntax

Die folgenden Argumente sind beim Ausführen des Hilfsprogramms sqlcmd verfügbar. Weitere Informationen zu bestimmten Argumenten finden Sie unter sqlcmd (Hilfsprogramm) und Lernprogramm zum Dienstprogramm sqlcmd in der SQL Server-Onlinedokumentation.

Sqlcmd
  [-U login id] [-P password] [-S server] [-H hostname] 
  [-E trusted connection] [-d use database name] [-l login timeout]
  [-N encrypt connection] [-C trust the server certificate]
  [-t query timeout] [-h headers] [-s colseparator] [-w screen width]
  [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
  [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"]
  [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel]
  [-W remove trailing spaces] [-u unicode output]
  [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile]
  [-f <codepage> | i:<codepage>[,o:<codepage>]]
  [-k[1|2] remove[replace] control characters]
  [-y variable length type display width]
  [-Y fixed length type display width]
  [-p[1] print statistics[colon format]]
  [-R use client regional setting] [-b On error batch abort]
  [-v var = "value"...]
  [-X[1] disable commands[and exit with warning]]
  [-? show syntax summary]

SQLCMD-Befehle

Die folgende Tabelle zeigt eine Übersicht über die Befehle, die Sie innerhalb des Hilfsprogramms sqlcmd ausführen können. Weitere Informationen zu diesen Befehlen finden Sie unter sqlcmd (Hilfsprogramm) in der SQL Server 2008-Onlinedokumentation.

Befehl

Beschreibung

go [count]

Führt jede zwischengespeicherte Transact-SQL-Anweisung aus. Wenn ein Wert für count angegeben wird, werden die zwischengespeicherten Anweisungen so häufig, wie durch count definiert, in Form eines einzigen Batches ausgeführt. Im folgenden Beispiel wird gezeigt, durch welche Angabe definiert wird, dass die beiden Anweisungen zweimal ausgeführt werden:

1> Use MyDatabase
2> SELECT FirstName, LastName FROM Employee WHERE EmployeeID < 10
3> GO 2

-Nencrypt connection

Dieser Schalter wird vom Client verwendet, um eine verschlüsselte Verbindung anzufordern. Diese Option entspricht der ADO.NET-Option ENCRYPT = true.

-Ctrust the server certificate

Dieser Schalter wird vom Client verwendet, um ihn so zu konfigurieren, dass er dem Serverzertifikat ohne Überprüfung implizit vertraut. Diese Option entspricht der ADO.NET-Option TRUSTSERVERCERTIFICATE = true.

reset

Löscht den Anweisungscache.

ed

Ermöglicht die Bearbeitung des aktuellen oder zuletzt ausgeführten Anweisungsbatches. Zur Bearbeitung des zuletzt ausgeführten Batches muss dieser Befehl unmittelbar nach der Ausführung des letzten Batches eingegeben werden.

!! <command>

Führt Betriebssystembefehle aus. Zum Ausführen eines Betriebssystembefehls geben Sie am Anfang einer Zeile zwei Ausrufezeichen (!!) gefolgt vom Betriebssystembefehl ein. Mithilfe des folgenden Befehls wird beispielsweise eine Verzeichnisliste für das aktuelle Laufwerk erstellt:

1> !! dir

quit

- oder -

exit

Beendet sqlcmd sofort.

exit [(statement)]

Gibt Ihnen die Möglichkeit, das Ergebnis einer SELECT-Anweisung als Rückgabewert von sqlcmd zu verwenden.

Die exit()-Anweisung ohne Angabe zwischen den Klammern führt alle im Batch vorhergehenden Anweisungen aus und beendet das Hilfsprogramm dann ohne Rückgabewert.

Sie können den exit-Parameter auch als Teil einer Batchdatei einschließen. Beispiel:

sqlcmd /Q "exit(SELECT COUNT(*) FROM '%1')"

:r <filename>

Analysiert Transact-SQL-Anweisungen und sqlcmd-Befehle aus der durch filename angegebenen Datei und schreibt das Ergebnis in den Anweisungscache. Die Datei wird gelesen und ausgeführt, nachdem ein Batchabschlusszeichen (go) ausgegeben wurde.

:serverlist

Listet die lokal konfigurierten Server sowie die Namen der Server auf, die Nachrichten über das Netzwerk übertragen.

:list

Gibt den Inhalt des Anweisungscaches aus.

:listvar

Zeigt eine Liste der momentan festgelegten Skriptvariablen an.

:error <destination>[ filename | STDERR | STDOUT]

Leitet die gesamte Fehlerausgabe in die durch filename angegebene Datei, in den STDERR- oder in den STDOUT-Datenstrom um. Die Fehlerausgabe wird standardmäßig an STDERR gesendet.

:out <destination>[ filename | STDERR | STDOUT ]

Leitet alle Abfrageergebnisse in die durch filename angegebene Datei, in den STDERR- oder in den STDOUT-Datenstrom um. Die Ausgabe wird standardmäßig an STDOUT gesendet.

:perftrace <destination>[ filename | STDERR | STDOUT ]

Leitet alle Leistungsnachverfolgungsinformationen in die durch filename angegebene Datei, in den STDERR- oder in den STDOUT-Datenstrom um. Die Ausgabe zur Leistungsnachverfolgung wird standardmäßig an STDOUT gesendet.

:connect server_name[\instance_name] [-t timeout] [-U username [-P password] ]

Stellt eine Verbindung mit einer Instanz von SQL Server her und schließt die aktuelle Verbindung.

:on error [ exit | ignore ]

Legt die Aktion fest, die ausgeführt werden soll, wenn ein Fehler während der Skript- oder Batchausführung auftritt.

Wird die Option exit verwendet, wird sqlcmd mit dem entsprechenden Fehlerwert beendet.

Wenn die Option ignore verwendet wird, ignoriert sqlcmd den Fehler und setzt die Batch- oder Skriptausführung fort. Standardmäßig wird eine Fehlermeldung ausgegeben.

:help

Zeigt die sqlcmd-Befehle und eine kurze Beschreibung des jeweiligen Befehls an.

Herstellen einer Verbindung mit SQL Server Express

Wenn Sie eine Verbindung mit einem Server mit SQL Server Express herstellen, müssen Sie den Servernamen angeben. Falls SQL Server Express als benannte Instanz installiert ist, müssen Sie auch den Instanznamen angeben. Standardmäßig wird von sqlcmd die Windows-Authentifizierung verwendet. Wenn Sie zum Herstellen der Verbindung mit dem Server mit SQL Server Express die SQL Server-Authentifizierung verwenden, müssen Sie außerdem die Anmeldeinformationen für die Verbindung mit dem Server mit SQL Server Express angeben. Wenn Sie z. B. eine Verbindung mit einer Standardinstallation von SQL Server Express auf einem Server mit der Bezeichnung server1 herstellen, können Sie folgende Argumente verwenden:

sqlcmd -S server1\SQLExpress -U SqlUserAccount -P SqlPassword
HinweisHinweis

Wenn Sie das -P-Argument verwenden, wird Ihr Kennwort als Nur-Text an Ihrer Eingabeaufforderung eingeblendet. Wenn Sie das -P-Argument auslassen, werden Sie aufgefordert, Ihr Kennwort einzugeben. Der von Ihnen eingegebene Text wird verborgen.

Wenn Sie mit einem Benutzerkonto angemeldet sind, das auf dem Server mit SQL Server Express als vertrauenswürdig gilt, müssen Sie die Argumente -U und -P nicht angeben:

sqlcmd -S server1\SQLExpress
HinweisHinweis

Das -E-Argument gibt eine vertrauenswürdige Verbindung an. Da dies die Standardeinstellung für sqlcmd ist, muss das -E-Argument nicht angegeben werden.

Beispiel

Das folgende Beispiel zeigt die Verwendungsweise des Hilfsprogramms sqlcmd zum Herstellen einer Verbindung mit einer Instanz von SQL Server Express namens SqlExpress auf einem Server mit dem Namen SqlServer1:

Sqlcmd -S SqlServer1\SqlExpress

Sobald Sie die Verbindung hergestellt haben, können Sie zum Verwalten der Instanz weitere Befehle ausgeben. Mit den folgenden Befehlen werden z. B. alle aktuell installierten Datenbanken angezeigt. Dadurch haben Sie die Möglichkeit, den logischen Namen einer angefügten SQL Server Express-Datenbank zu suchen:

SELECT name from sys.databases
Go

Gespeicherte Systemprozedur sp_configure

Sie können die Ressourcen von SQL Server Express über Konfigurationsoptionen mithilfe der gespeicherten Systemprozedur sp_configure verwalten und optimieren. Weitere Informationen zu sp_configure finden Sie unter Festlegen von Serverkonfigurationsoptionen in der SQL Server-Onlinedokumentation.

Die folgenden Konfigurationsoptionen sind Teil von sp_configure, werden jedoch in SQL Server Express nicht unterstützt:

  • Agent XPs

  • Database Mail XPs

  • SQL Mail XPs

  • Web Assistant Procedures