'Version du 16 mai 2013
'http://www.chdb.eu/?n=3452
'Script d aide à la restauration de tout un lot de bases SQL avec déplacement des fichiers.
'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 tout un serveur à restaurer sur un autre qui n'a pas les même emplacements de répertoire, 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 NomBaseOriginal
Dim NomBaseCourt
Dim Position
'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)
CheminDataSQL = InputBox("Entrez le chemin du fichier du repertoire contenant les bases SQL","Bases SQL","D:\RepertoireAvecLesBases")
CheminLogSQL = InputBox("Entrez le chemin du fichier du repertoire contenant les Logs SQL","Logs SQL","L:\RepertoireAvecLesLogs")
'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 MyFile In objFolder.Files
If ExtensionFichier(MyFile.Name) = "bak" Then
NomBaseOriginal = MyFile.Name
Position = InStrRev(NomBaseOriginal, ".")
If Position > 0 Then
'NomBaseOriginal = Left(NomBaseOriginal,(Len(NomBaseOriginal)-24))
NomBaseCourt = Mid(NomBaseOriginal,1, Position-1)
'Wscript.Echo NomBaseOriginal
objTextFile.WriteLine("RESTORE DATABASE """ & NomBaseCourt & """ FROM DISK = '" & MyFile.Path & "' with Replace, Move '" & NomBaseCourt & "_Data' to '" & CheminDataSQL & "\" & NomBaseCourt & ".MDF', move '" & NomBaseCourt & "_log' to '" & CheminLogSQL & "\" & NomBaseCourt & "_log.LDF'")
End If
End If
Next
objTextFile.Close
Set objTextFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Wscript.Echo "Terminé."
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) précédent(s)