Bonjour,
Je cherche le moyen de créer une commande sql sous SQL Server 2005 pour restaurer une base en cas de retour arrière.
J'ai plusieurs .bak dans le répertoire et je veux restaurer une version d'un jour précis.
la sauvegarde s'effectue par les tâches planifiées SQL et c'est sous la forme BASE_backup_année&mois&jour&heure&minute.bak
Je ne maîtrise pas les heures et les minutes
Mon script SQL est lancé par un .bat
Les points d'interrogation représente l'heure et les minutes. Je voudrais insérer un joker pour qu'il ne prenne pas en compte ces chiffres. je veux restaurer le .bak d'un jour précis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RESTORE DATABASE BASE from disk ='G:\MSSQL2005\BASE\BASE_backup_20110223???.bak' with replace; GO
Le .bat
REM Variable à remplacer par le nom de la base à sauvegarder
J'ai chercher sur google, je n'ai rien trouver.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SET BASE=BASE SET SERVER=SERVER REM Répertoire d'installation de l'executable sqlcmd SET SQLCMD_DIRECTORY="\\%SERVER%\C$\Program Files\Microsoft SQL Server\90\Tools\Binn\" %SQLCMD_DIRECTORY%sqlcmd -S S64LMWBIAFZ -i D:\LIVRAISONS\TEST\restore_preventiel.sql" -o "D:\LIVRAISONS\TEST\%BASE%.txt"
Merci de votre précieuse aide.
Partager