Il est possible de lancer un script .sql à partir d’un batch DOS grâce à la commande sqlcmd. Cela pourra notamment vous être utile dans le cadre d’un lancement de routines de maintenance par tâche planifiée :
sqlcmd -E -i C:backup.sql > C:backup.log
- -E indique une connexion approuvée
- -i permet de spécifier un fichier d’entrée
- > permet la sortie dans un fichier (ici on voudra créer un log des opérations)
Sauvegarde de bases
Ce script permet de faire une sauvegarde à chaud d’autant de bases que l’on souhaite, de personnaliser le chemin de destination ainsi que le nom du fichier de sortie :
BACKUP DATABASE [base] TO DISK = N'\serveurpartage\ma_base.bak' WITH NOFORMAT, INIT, NAME = N'sav-base', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO BACKUP DATABASE, [base1] TO DISK = N'\serveurpartage\ma_base1.bak' WITH NOFORMAT, INIT, NAME = N'sav-base1', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO
Restauration de bases
Ce script permet de faire une restauration d’autant de bases que l’on souhaite :
RESTORE DATABASE [base] TO DISK = N'\serveurpartage\base.bak' GO RESTORE DATABASE [base1] TO DISK = N'\serveurpartage\base1.bak' GO