VBS, Backup Database MSSQL/MSSQLEXPRESS

PowerShell
PowerShell, Edit Network Settings
18 aprile 2016
PowerShell
PowerShell, Text-to-Speech (TTS)
25 aprile 2016
Mostra tutto

VBS, Backup Database MSSQL/MSSQLEXPRESS

MSSQL
Oggi vedremo come schedulare il backup dei propri DB, senza l'utilizzo nessun software aggiuntivo, basta infatti un semplice VBS per eseguire il dump di MSSQL/SQLEXPRESS 2005-2014

Prerequisiti

* x86: SQLServer2005 Backward (32bit)
* x64: SQLServer2005 Backward (64bit)

Script

main()
sub main()
'On error resume next

strComputer = "."
 
'Dim
Dim sDBUser
Dim sDBPwd
Dim sDBServer
Dim sDBName
Dim fso

'Var

If WScript.Arguments.Count = 4 Then
	sDBServer = WScript.Arguments.Item(0)
	sDBUser = WScript.Arguments.Item(1)
	sDBPwd = WScript.Arguments.Item(2)
	backupPath = WScript.Arguments.Item(3)
Else
	sDBServer = "." 'usare ".SQLEXPRESS" nel caso di un MSSQLEXPRESS

	sDBUser = "Adminstrator"
	sDBPwd = "password"
	backupPath = "C:temp"
end if


'Set
Set fso = CreateObject("Scripting.FileSystemObject")
set wscr = CreateObject("Wscript.Shell")
Set oSQLServer = CreateObject("SQLDMO.SQLServer")
Set oDataBase = CreateObject("SQLDMO.Database")
Set oBackup = CreateObject("SQLDMO.Backup")

wscr.popup "Inizio procedura di backup..",3

''Controlla e crea backupPath
if not (fso.folderexists(backupPath)) Then
	fso.createfolder backupPath
end if

' Timeout e Connessione Sicura 
oSQLServer.LoginTimeout = 30
oSQLServer.LoginSecure = True

'Connessione DB (server + user + pass)
oSQLServer.Connect sDBServer, sDBUser, sDBPwd

'Cicla dump per tutte le tabelle
For Each oDataBase In oSQLServer.Databases
If oDataBase.SystemObject = False Then
wscr.popup "Dump della tabella: " & oDataBase.Name,3
oBackUp.Initialize = "TRUE" 'Sovrascrive nel caso il .sql esista
oBackup.Database = oDatabase.Name 'Assegna il nome della tabella corrente alla variabile
oBackup.Action = SQLDMOBackup_Database
oBackup.Files = backupPath & oDatabase.Name & ".sql" 'Backup pathnome db.sql
oBackup.SQLBackup oSQLServer 'Backup
end if
next
oSQLServer.Close()

'Fine dump tabelle
wscr.popup "Dump Completato!",3

End sub

Utilizzo 1

* Modificando le variabili sDBServer, sDBUser, sDBPwd e backupPath è possibile doppio cliccarlo o schedularlo nelle operazioni pianificate.

Utilizzo 2

* Passando allo script le variabili in ordine: sDBServer, sDBUser, sDBPwd e backupPath
** Esempio: cscript Backup_DB_args.vbs "." "Administrator" "password" "c:Backup"

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *