Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Esecuzione di un set di query SQL utilizzando il file batch?

Salva i comandi in un .SQL file, es:ClearTables.sql , dì nel tuo C:\temp cartella.

Contenuti di C:\Temp\ClearTables.sql

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

Quindi usa sqlcmd per eseguirlo come segue. Poiché hai affermato che il database è remoto, utilizza la seguente sintassi (dopo l'aggiornamento per il nome del server e dell'istanza del database).

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

Ad esempio, se il nome del computer remoto è SQLSVRBOSTON1 e il nome dell'istanza del database è MyDB1, il comando sarebbe.

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

Nota anche che -E specifica l'autenticazione predefinita. Se hai un nome utente e una password per connetterti, usa -U e -P interruttori.

Eseguirai tutto questo aprendo un CMD finestra di comando.

Utilizzo di un file batch.

Se vuoi salvarlo in un file batch e fare doppio clic per eseguirlo, procedi come segue.

Crea e salva il ClearTables.bat così.

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

Quindi fare doppio clic su di esso per eseguirlo. Eseguirà i comandi e attenderà fino a quando non premi un tasto per uscire, in modo da poter vedere l'output del comando.