Wednesday, May 27, 2009

Verificando Integridad de Backup Devices.

Recientemente modifique el script que había publicado anteriormente para detectar si en el servidor de respaldo existen todos los backup devices del servidor operativo, usando PowerShell.

El script es muy simple, solamente basta conectarnos a cada servidor SQL usando SMO y guardar en un arreglo la lista de backup devices, despues recorrer los arreglos del servidor operativo y verificar si están en el de respaldo.

Aqui va el script:

[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
$srv=New-Object "Microsoft.SqlServer.Management.Smo.Server" SERVIDOROPERATIVO

$disp=@()
foreach($backup in $srv.backupdevices) {
$disp = $disp + $backup.Name
}



$srv2=New-Object "Microsoft.SqlServer.Management.Smo.Server" SERVIDORBACKUP
$disp2=@()
foreach($backup2 in $srv2.backupdevices) {
$disp2 = $disp2 + $backup2.Name
}

foreach ($dev in $disp) {
if ($disp2 -notcontains $dev){
Write-Host "No existe el backup " $dev "en el servidor de respaldo"
}
}


Solamente imprimirá si faltan backup devices en el servidor backup, pero se le puede agregar que lo escriba en un log, que mande un mail, etc.

Este script es parte de un plan de recuperacion de desastres, puesto que el servidor backup tiene que tener siempre los mismos backup devices del servidor operativo.

Espero les sirve.

1 comment:

Anonymous said...
This comment has been removed by a blog administrator.