collecting a count of errorlogs using posh

  • 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.

  • 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.

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply