J'utilise une base de données SQL Server. J'ai ces requêtes SQL:
Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;
Est-il possible d'exécuter ces scripts en utilisant un fichier de commandes? La base de données est une base de données distante.
Merci!
Enregistrez les commandes dans un fichier .SQL
, Ex: ClearTables.sql
, Par exemple dans votre dossier C:\temp
.
Contenu deC:\Temp\ClearTables.sql
Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;
Ensuite, utilisez 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 base de données est MyDB1, la commande sera alors.
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 les commutateurs -U
Et -P
.
Vous exécuterez tout cela en ouvrant une fenêtre de commande CMD
.
tilisation d'un fichier de commandes.
Si vous souhaitez l'enregistrer dans un fichier de commandes et double-cliquer dessus pour l'exécuter, procédez comme suit.
Créez et enregistrez le ClearTables.bat
Comme ceci.
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 le résultat de la commande.
Consultez l'outil de ligne de commande SQLCMD fourni avec SQL Server. http://technet.Microsoft.com/en-us/library/ms162773.aspx
Utilisez l'utilitaire [~ # ~] sqlcmd [~ # ~] .
http://technet.Microsoft.com/en-us/library/ms162773.aspx
Il existe une instruction de connexion qui vous permet de basculer du serveur de base de données A au serveur B dans le même lot.
: Connect nom_serveur [\ nom_instance] [-l délai d'attente] [-U nom_utilisateur [-P mot de passe]] Se connecte à une instance de SQL Server. Ferme également la connexion en cours.
Par contre, si vous connaissez PowerShell , vous pouvez procéder de la même manière par programmation.
http://technet.Microsoft.com/en-us/library/cc281954 (v = sql.105) .aspx
Différentes façons:
Utilisation de l'agent SQL Server (si instance locale)
planifiez un travail dans un agent de serveur SQL avec une nouvelle étape de type "T-SQL", puis exécutez le travail.
Utiliser SQLCMD
Pour utiliser SQLCMD, reportez-vous à http://technet.Microsoft.com/en-us/library/ms162773.aspx
Utiliser SQLPS
Pour utiliser SQLPS, voir http://technet.Microsoft.com/en-us/library/cc280450.aspx