Powershell i SQL 09 – czytanie ERRORLOG

8-lis-2015

Ulubioną lekturą MSSQL DBA jest plik errorlog. Można go oczytywać w SQL Server Management Studio, z wykorzystaniem sp_readerrorlog, ale da się też z powershella.  Jak zwykle zaczynamy od stworzenia obiektu SMO odpowiadającego za naszą instancję SQL:

$server = New-Object -type Microsoft.SqlServer.Management.Smo.Server -ArgumentList localhost

Do odczytania błędów skorzystaj z:

$err = $server.ReadErrorLog()

Najważniejsze właściwościi tak uzyskanego obiektu to:

LogDate Property dateime LogDate {get;set;}

ProcessInfo Property string ProcessInfo {get;set;}

Text Property string Text {get;set;}

Logdate to oczywiście data wystąpienia błędu, ProcessInfo to numer spid w ramach którego błąd został zalogowany, a Text, to sam komunikat błędu. Jeśli więc chcesz wyfiltrować wszystkie zdarzenia zawierające informację o błędzie lub operacje nieudane z ostatniej godziny posłuż się:

$err | ? {$_.text -like '*error*’ -or $_.text -like '*failed*’} | ? { $_.LogDate -gt (Get-Date).AddHours(-1)} | FT -Wrap

A teraz o błędach ale z trochę innej strony.

Komentarze są wyłączone

Autor: Rafał Kraik