lunes, octubre 18, 2010

Revisar el estado de los Jobs de SQL Server con PowerShell


Una tarea muy común de todo DBA es revisar el estado de los Jobs de SQL Server, para esto podemos utilizar el siguiente script en PowerShell. (La lista de servidores se carga a partir de un archivo te texto “sqlservers.txt”). Espero les sea de utilidad.
# Carga el assembly

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null

# Obtiene la lista de servidores SQL

$sqlservers = Get-Content "$Env:USERPROFILE\sqlservers.txt";

# Revisa los Jobs

Write-Host "Revision de Jobs de SQL Server"
Write-Host "=========================================================="
Write-Host " "

foreach($sqlserver in $sqlservers)
{
    $srv = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $sqlserver
    
    Write-Host "Server -- $sqlserver"
    Write-Host "========================================================"
    
    $jobs = $srv.JobServer.Jobs | Where-Object {$_.IsEnabled -eq $TRUE} | Select Name,LastRunOutcome, LastRunDate

    foreach($job in $jobs)
    {
        $colour = "Green";
        if ( $job.LastRunOutcome -eq "Failed"){                
            $colour = "Red";
        }
        Write-Host -ForegroundColor $colour $job.Name $job.LastRunOutcome $job.LastRunDate  
    }
    Write-Host
}

No hay comentarios.:

Publicar un comentario