|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: 2 days ago @ 1:40 PM
Points: 141,
Visits: 500
|
|
Hi, I am running a script to collect a count of all errors in the current error log using smo, as below:
$sqlServer = new-object ("Microsoft.SqlServer.Management.Smo.Server") "MYSERVER" $logs = $sqlServer.ReadErrorLog() | where {($_.Text -like "Error*" -or $_.Text -like "*Fail*") -and ($_.Text -notlike "*Found 0 Errors*")}; $count = $logs.Count $count
and then dumping this into a monitor database.
This works fine for most servers, but I have a 2005 cluster that for some reason won't return the count. If I just read the error log into console that works fine, but the .Count method disappears completely from the object. It is like, for this server, the object returned from $sqlServer.ReadErrorLog() is different to the rest of the servers.
Any ideas?
Thanks for reading.
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: 2 days ago @ 1:40 PM
Points: 141,
Visits: 500
|
|
I think I may have answered my own question.
It appears that the ReadErrorLog function is returning it's own error, rather than a collection of errors from the server log, which is where my confusion lay. As it is a single error, there is no collection / count for it. This happens when it connects okay to the server to return an smo object, but the function call returns an authentication error.
|
|
|
|