Exécuter un set de requêtes SQL en utilisant un file batch?

J'utilise une database 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 file batch? La database est une database distante.

Merci!

    Enregistrez les commands dans un file .SQL , ex: ClearTables.sql , disons dans votre dossier C:\temp .

    Contenu de C:\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 indiqué que la database est distante, utilisez la syntaxe suivante (après la mise à jour de votre nom d'instance de server et de database).

     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 database est MyDB1, la command le sera.

     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'user et un mot de passe pour vous connecter, utilisez les commutateurs -U et -P .

    Vous allez exécuter tout cela en ouvrant une window de command CMD .

    Utilisation d'un file batch

    Si vous souhaitez l'save dans un file de commands et double-cliquez dessus 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...: 

    Ensuite, double-cliquez dessus pour l'exécuter. Il va exécuter les commands et attendre jusqu'à ce que vous appuyiez sur une touche pour quitter, afin que vous puissiez voir la sortie de la command.

    Découvrez l'outil de command line 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 connect qui vous permet de basculer du server de database A vers le server B dans le même lot.

    : Connect nom_server [\ nom_instance] [-l timeout] [-U nom_user [-P mot de passe]] Se connecte à une instance de SQL Server. Ferme également la connection en cours.

    D'un autre côté, si vous êtes familier avec PowerShell , vous pouvez faire la même chose par programmation.

    http://technet.microsoft.com/en-us/library/cc281954(v=sql.105).aspx

    Différentes façons:

    1. À l'aide de l'Agent SQL Server (si l'instance locale)
      planifier un travail dans l'agent de server SQL avec une nouvelle étape ayant le type "T-SQL", puis exécutez le travail.

    2. Utiliser SQLCMD
      Pour utiliser SQLCMD, reportez-vous à http://technet.microsoft.com/fr-fr/library/ms162773.aspx

    3. Utiliser SQLPS
      Pour utiliser SQLPS, reportez-vous à http://technet.microsoft.com/fr-fr/library/cc280450.aspx