Comment exécuter un script en utilisant un fichier BAT?

Je voudrais avoir un fichier BAT ouvrir un script de serveur SQL. Actuellement, j’ai ce code dans le fichier sql:

declare @path varchar(255), @mydb varchar(50) SELECT @mydb = 'timeclockplus' select @path = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\' + @mydb + '-' + convert(varchar(8),getdate(),112) + '.bak' BACKUP DATABASE @mydb TO DISK = @path 

Comment ouvrir ce fichier SQL à partir d’un fichier BAT?

J’essaie actuellement de l’exécuter comme ceci:

 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql -E -S Sql server-hl7\timeclockplus timeclockplus.sql -oresults.txt 

mais OSQL n’existe pas dans le répertoire BINN,

Vous devez appeler l’outil de ligne de commande sqlcmd à partir de votre fichier de commandes. En supposant que votre fichier sql est “backup.sql”, la ligne de commande serait quelque chose comme:

 sqlcmd -E -S yoursqlinstance -i backup.sql 

-E utilise une connexion sécurisée, remplacez-le par -U et -P si vous devez spécifier un nom d’utilisateur et un mot de passe SQL. Voir aussi cet article avec des exemples .

 sqlcmd -S 127.0.0.1 /E -i MySqlScript.sql 

Remplacez / E par / U et / P si vous n’avez pas de connexion sécurisée

Si vous voulez une réponse bien meilleure, la voici:

 @echo off SETLOCAL ENABLEDELAYEDEXPANSION :: batch file for sql query SET FIELDVAL=Empty SET DBNAME=MYDB SET SQLSTRING=SELECT column_name(s)^ FROM table_name1^ INNER JOIN table_name2^ ON table_name1.column_name=table_name2.column_name^ AND table_name2.field=%FIELDVAL% ECHO !SQLSTRING! ECHO. sqlcmd.exe -b -S localhost -E -d !DBNAME! -Q "!SQLSTRING!" -W ECHO Query is done. Hit any key to close this window.... pause>nul 

Démarrer> Exécuter> Tapez Cmd.

MyDrive: \ Mypath \ Mybat.bat

=)