Hier einige Tipps, was sich mit dem Kommandozeilen-Tool "sqlcmd.exe" so alles anstellen lässt...

Verbindung herstellen

Wird kein spezielles Protokoll angegeben, wird die Reihenfolge verwendet, wie sie im SQL Server Konfigurations-Manager hinterlegt ist.

Es gibt zu diesem Thema auch ne extra Webseite von Microsoft:

http://msdn.microsoft.com/de-de/library/ms188247.aspx

Verbindung zum eigenen PC...

sqlcmd -S 127.0.0.1\Instanzname
oder
sqlcmd -S .\Instanzname

zu einem Remote-PC...

sqlcmd -S REMOTESERVER
oder
sqlcmd -S REMOTESERVER\Instanzname

Verbindung explizit über TCP/IP herstellen:

sqlcmd -S tcp:<computer name>,<port number>
z.B.
sqlcmd -S tcp:Server1:1433

Verbindung über Names Pipes herstellen:

Zu einem Remote-PC...

sqlcmd -S np:\\SERVERNAME\pipe\sql\query

bzw. bei einer benannten Instanz:

sqlcmd -S np:\\SERVERNAME\pipe\MSSQL$<Instanzname>\sql\query

für den Zugriff auf den eigenen PC:

sqlcmd -S np:\\.\pipe\MSSQL$<Instanzname>\sql\query

Befehle absetzen

Nachdem wir nun die Verbindung auf irgend eine dieser Möglichkeiten hergestellt haben, können wir nun Befehle absetzen.

Alle Datenbanken auflisten:

sp_databases
go

Eine Datenbank verwenden:

use datenbank1
go

Alle Tabellen auflisten:

sp_help
go

Jetzt können wir die Top 100 auslesen :-)

select top 100 * from Tabelle1

Befehle im Batch-Modus abarbeiten

Man kann auch eine SQL-Datei angeben, die dann abgearbeitet wird. Bietet sich z.B. an, wenn man eine Aufgabe regelmäßig ausführen lassen will:

Als Beispiel eine Abfrage, die am eigenen Server ausgeführt werden soll:

sqlcmd -S <Server\Instanzname> -d <Datenbank> -i abfrage.sql

Abfrage in eine Textdatei umleiten:

sqlcmd -S <Server\Instanzname> -d <Datenbank> -i abfrage.sql -o Ergebnis.txt

Die Datei abfrage.sql kann z.B. folgenden Inhalt haben:

select top 100 * from tabelle1

Verbindung trennen

Um SQLCMD wieder zu verlassen, reicht ein

exit