Tout va quitter ce ici une réponse (Scripts votre base de données entière dans un fichier .sql (y compris les données), puis compresse avec winrar.)
J'ai créé cette solution à exécuter une fois par jour à partir du planificateur de tâches, ce qui explique pourquoi il ne un niveau quotidien. Si vous voulez exécuter plus (par exemple, une fois toutes les demi-heures), vous devrez modifier le "% date: ~ -4,4 %% date: ~ -7,2 %% date: ~ -10,2 % "des champs pour descendre à un niveau d'heure/minute/seconde, selon ce qui est nécessaire pour vous.
REMARQUE: Assistant de publication SQL & Winrar doivent être installés
begin.bat - wrapper pour conserver un enregistrement du fichier journal. Ceci est le fichier de traitement par lots à être appelé par le Planificateur de tâches
::Run dbbackup.bat and append all output to log.txt
md C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
"dbbackup.bat" >> "C:\[Directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%\log.txt"
dbbackup.bat - Sauvegarde de la base de données
echo off
cls
echo %date% %time%
echo ***************************************************************************
echo ** Script all objects in databases and save them in 'yyyymmdd' folder **
echo ***************************************************************************
cd C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
"C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\sqlpubwiz.exe" script -C "[ConnectionString]" [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
echo ***************************************************************************
echo ** RAR compress all .sql script files **
echo ***************************************************************************
"C:\Program Files\WinRAR\WinRAR.exe" -ibck a [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.rar [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
echo WinRAR has completed execution
echo ***************************************************************************
echo ** Delete all .sql script files **
echo ***************************************************************************
del *.sql
echo .SQL files deleted
Il suffit de créer une tâche planifiée pour exécuter begin.bat à exécuter à tout intervalle vous avez besoin, et une sauvegarde de base de données sera scriptée avec un fichier journal.