2012-12-19 59 views
-1

我可以使用下面的代碼輕鬆讀取SQL錯誤日誌,但無法找到讀取代理錯誤日誌的方法。有誰知道這是否可能?使用Powershell讀取SQL代理錯誤日誌

$sqlServer = new-object ("Microsoft.SqlServer.Management.Smo.Server") $server 
    $sqlServer.ReadErrorLog() 

我已經搜遍了命名空間,沒有任何明顯的指向我的日誌。我試過這個沒有成功。

$sqlAgent = new-object ("Microsoft.SqlServer.Management.Smo.Agent") $server 
    $sqlAgent.ReadErrorLog() 
+0

您是否閱讀過「JobServer」對象的文檔?特別是['ReadErrorLog()'](http://msdn.microsoft.com/en-us/library/ms201497.aspx)方法? – Pondlife

+0

顯然不是......對自己感覺更好嗎? – PseudoToad

+0

對不起,如果我的措辭有點苛刻,但我真的很困惑,因爲在發佈之前似乎很少有人會查閱文檔。 – Pondlife

回答

1

@Pondlife是正確的。對於任何面臨此問題的人來說,這都適用於我的目的。

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

    $sqlServer = new-object ("Microsoft.SqlServer.Management.Smo.Server") $server 
    $jobServer = $sqlServer.JobServer; 
    $jobServer.ReadErrorLog() | 
    where { ($_.ErrorLevel -lt 3) -and ($_.LogDate -ge $(Get-Date).AddDays($EventLogDaysToReview)) } | 
    Format-Table -AutoSize -wrap