Collez le script dans le répertoire contenant les backups à restaurer.
Chaque répertoire doit porter le nom de la base SQL qui doit être restaurée.
Lancez le script, suite à quoi un fichier contenant les commandes de restauration apparaîtra.
'Version du 22 mars 2012
'Maj du 28/04/2017 : Modification pour restaurer les backups des bases qui sont dans des sous-répertoires
'http://www.chdb.eu/?n=3112
'Script d aide à la restauration de tout un lot de bases SQL.
'Ce script se place dans le répertoire contenant les fichiers de backups à restaurer
'Il génèrera un fichier avec des commandes de restauration indiquant une modification de l'emplacement des bases et logs SQL
'Restera à contrôler les commandes avant exécution
'Quand il y a une vingtaine de bases par exemple à restaurer, cela aide ...
Dim objFSO 'Objet FSO pour l'accès au système de fichiers
Dim MyFile 'Représente un fichier
Dim objTextFile 'Représente le fichier texte qui contient les réponses
Dim NomBase
'Déclaration des constantes pour la lecture et l'ecriture dans les fichiers
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
CheminFichierResultat = CheminScriptActuel & "\" & "Fichier de Sortie.txt"
CheminRepertoireAExplorer = InputBox("Entrez le chemin du répertoire avec les backups","Chemin du répertoire",CheminScriptActuel)
CheminFichierResultat = InputBox("Entrez le chemin du fichier contenant le resultat","Chemin du fichier de reponse",CheminFichierResultat)
'Création des objets
Set objFSO = CreateObject("Scripting.FileSystemObject")
'On fait un objet qui représente le répertoire à explorer
Set objFolder = objFSO.GetFolder(CheminRepertoireAExplorer)
Set objTextFile = objFSO.OpenTextFile(CheminFichierResultat, ForWritting, True)
For Each ObjSubFolder In objFolder.SubFolders
For Each MyFile In ObjSubFolder.Files
If ExtensionFichier(MyFile.Name) = "bak" Then
'NomBase = MyFile.Name
'NomBase = Left(NomBase,(Len(NomBase)-4)) 'On retire l'extension .bak
NomBase = ObjSubFolder.Name
'Wscript.Echo NomBase
objTextFile.WriteLine("RESTORE DATABASE """ & NomBase & """ FROM DISK = '" & MyFile.Path & "' with Replace")
End If
Next
Next
objTextFile.Close
Set objTextFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Wscript.Echo "Termine !"
Public Function ExtensionFichier(ByVal CheminFichier)
'Retourne l'extension du fichier
Dim Position
ExtensionFichier = ""
Position = InStrRev(CheminFichier,".")
If (Position > 0) And (Position < Len(CheminFichier)) Then
ExtensionFichier = Mid(CheminFichier,Position+1)
End If
End Function
Lien vers le fichier : cliquez ici
Article(s) suivant(s)
Article(s) précédent(s)