0

sqlserveragent によって書き込まれたイベント ログ エントリを取得しようとしています。残念ながら、すべてのエントリを一度に取得することしかできないようで、時間がかかりすぎます。現在使用しているコードは次のとおりです。

EventLog log = new EventLog("Application", "x.x.x.x", "SQLSERVERAGENT");
var entries = log.Entries.OfType<EventLogEntry>().Where(o => o.Source == "SQLSERVERAGENT");
var c = entries.Count();

最後の行になると時間がかかりすぎて、終わるのを待つ忍耐力がありません。すべてのエントリを前もって取得してからフィルタリングするのではなく、エントリのフィルタリングされたビューを取得する方法はありますか?

4

1 に答える 1

0

これを行うには、EventLogQueryクラスとEventLogReaderクラスを使用する必要があることがわかりました。

ただし、クエリを適切に形成する方法をまだ理解しようとしているので、誰かが知っている場合は、次のように伝えてください。EventLogQuery :クエリ文字列を形成する方法は?

于 2012-09-12T01:50:35.967 に答える