Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Exécution d'un ensemble de requêtes SQL à l'aide d'un fichier batch ?

Enregistrer les commandes dans un .SQL fichier, ex :ClearTables.sql , dites dans votre C:\temp dossier.

Contenu de C:\Temp\ClearTables.sql

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

Utilisez ensuite sqlcmd pour l'exécuter comme suit. Puisque vous avez dit que la base de données est distante, utilisez la syntaxe suivante (après la mise à jour de votre serveur et du nom de l'instance de base de données).

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

Par exemple, si le nom de votre ordinateur distant est SQLSVRBOSTON1 et que le nom de l'instance de la base de données est MyDB1, alors la commande serait.

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

Notez également que -E spécifie l'authentification par défaut. Si vous avez un nom d'utilisateur et un mot de passe pour vous connecter, utilisez -U et -P commutateurs.

Vous exécuterez tout cela en ouvrant un CMD fenêtre de commande.

Utilisation d'un fichier batch.

Si vous souhaitez l'enregistrer dans un fichier de commandes et double-cliquer pour l'exécuter, procédez comme suit.

Créez et enregistrez le ClearTables.bat comme ça.

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

Puis double-cliquez dessus pour l'exécuter. Il exécutera les commandes et attendra que vous appuyiez sur une touche pour quitter, afin que vous puissiez voir la sortie de la commande.