2012-12-19 57 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