Thursday, September 22, 2016

Powershell - Read SQL Log

Import-Module SQLPS -DisableNameChecking

$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList "serverName"

# ReadErrorLog() returns a dataTable object
$d = $server.ReadErrorLog()

foreach ($r in $d.Rows)
{

    Write-Host "============================"
    Foreach ($c in $d.Columns)
    {
        Write-Host $c.ColumnName "=" $r[$c]

    }

}

---

ReadErrorLog(#)

If you provide a number, it reads that particular SQL log number.  (Eg - SQL log numbers 1 through 6).