Verwenden des Dienstprogramms sqlcmd (SQL Server Express)

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

SQLCMD-Syntax

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

Sqlcmd
  [-U login id] [-P password] [-S server] [-H hostname] 
  [-E trusted connection] [-d use database name] [-l login timeout]
  [-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 Dienstprogramms sqlcmd ausführen können. Weitere Informationen zu diesen Befehlen finden Sie unter sqlcmd (Dienstprogramm) in der SQL Server 2005-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. In folgendem 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

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 Dienstprogramm 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
ms165702.note(de-de,SQL.90).gifHinweis:
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
ms165702.note(de-de,SQL.90).gifHinweis:
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 Dienstprogramms 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 2005-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

Siehe auch

Andere Ressourcen

Arbeiten mit SQL Server Express
Downloadcenter für die SQL Server 2005-Onlinedokumentation

Hilfe und Informationen

Informationsquellen für SQL Server 2005