Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ausführen einer Reihe von SQL-Abfragen mithilfe einer Batchdatei?

Speichern Sie die Befehle in einer .SQL Datei, z. B.:ClearTables.sql , sagen Sie in Ihrem C:\temp Ordner.

Inhalt von C:\Temp\ClearTables.sql

Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;

Verwenden Sie dann sqlcmd um es wie folgt auszuführen. Da Sie gesagt haben, dass die Datenbank entfernt ist, verwenden Sie die folgende Syntax (nach der Aktualisierung für Ihren Server- und Datenbankinstanznamen).

sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql

Wenn der Name Ihres Remote-Computers beispielsweise SQLSVRBOSTON1 und der Name der Datenbankinstanz MyDB1 lautet, lautet der Befehl.

sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql

Beachten Sie auch, dass -E gibt die Standardauthentifizierung an. Wenn Sie einen Benutzernamen und ein Kennwort zum Verbinden haben, verwenden Sie -U und -P Schalter.

All dies führen Sie aus, indem Sie eine CMD öffnen Befehlsfenster.

Verwenden einer Stapeldatei.

Wenn Sie es in einer Stapeldatei speichern und zum Ausführen doppelklicken möchten, gehen Sie wie folgt vor.

Erstellen und speichern Sie die ClearTables.bat so.

echo off
sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql
set /p delExit=Press the ENTER key to exit...:

Doppelklicken Sie dann darauf, um es auszuführen. Es führt die Befehle aus und wartet, bis Sie zum Beenden eine Taste drücken, damit Sie die Befehlsausgabe sehen können.