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
=)