Skip to content

VBScript – Backup MSSQL

2 agosto 2010

Nelle settimane passate mi sono trovato, a causa di una migrazione server, nella necessità di dover eseguire il backup di decine e decine di database MSSQL.

Piuttosto di andare a manina a fare il backup dei singoli db ho pensato di impiegare un po’ del mio tempo a creare uno script in VBS che mi permettesse di eseguire tutti i backup dei DB su quella macchina e che potessi riutilizzarlo in una seconda evenienza.

On Error Resume Next

strComputer = “.”

Dim sDBUser
Dim sDBPwd
Dim sDBServer
Dim sDBName

‘*************************************************************
‘PARTE DA CONFIGURARE A SECONDA DELLE PROPRIE IMPOSTAZIONI
‘utente con cui accedere a MSSQL
sDBUser = “sa”
‘password utente con cui accedere a MSSQL
sDBPwd = “sasa”
‘ nome istanza MSSQL
sDBServer = “.\”
‘path di destinazione dei file di backup
backupPath = “C:\Test\”
‘*************************************************************
Set oSQLServer = CreateObject(“SQLDMO.SQLServer”)
Set oDataBase = Server.CreateObject(“SQLDMO.Database”)
Set oBackup = CreateObject(“SQLDMO.Backup”)

oSQLServer.LoginTimeout = 30
oSQLServer.LoginSecure = True
‘ Stringa di connessione al DB server
oSQLServer.Connect sDBServer, sDBUser, sDBPwd

‘ recupero la lista di database…
For Each oDataBase In oSQLServer.Databases
‘se la lista non è vuota…
If oDataBase.SystemObject = False Then
‘ recupero il nome del DB
sDBName = oDataBase.Name
‘ eseguo il backup del DB nel caso esista già sovrascrivo
oBackUp.Initialize = “TRUE”
oBackup.Database = sDBName
oBackup.Action = SQLDMOBackup_Database
oBackup.Files = backupPath & sDBName & “.bak”
oBackup.SQLBackup oSQLServer
End If
Next

oSQLServer.Close()

Questo script mi ha permesso con un solo clic di andare ad eseguire il backup di più di 50 DB.

Per utilizzarlo basta impostare il nome dell’istanza, un utente di connessione , la password di quell’utente, la cartella di destinazione dei file e il gioco è fatto.

Ora basta prendere i file di backup,  spostarli sul nuovo server e ripristinarli….

….RIPRISTINARE OLTRE 50 DB?!?!?!?!?!

…tranquilli ho creato uno script anche per quello….ma lo pubblico un’altra volta!!!

2 commenti
  1. Cristina permalink

    Trovo il tuo articolo molto utile. Aspetto con ansia di poter sapere come poter ripristinare più db in un’unica volta e non come dici tu “a manina”.
    Grazie.
    Ciao

  2. Stefano permalink

    Questo script è fantastico… fammi sapere quando pubblichi quello per il ripristino

    Grazie

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...