Log Parser: получение уникальных номеров записей
Последние несколько дней я играл с Log Parser, и мы пытаемся сохранить определенные идентификаторы событий из журналов безопасности наших контроллеров домена. Поскольку это журналы с большим объемом трафика, данные в них не сохраняются более 15-30 минут. Поэтому мне нужно запускать этот запрос каждые 10 минут или около того как запланированное задание, чтобы убедиться, что я не потеряю данные.
Мне (наконец-то!) Удалось запустить запрос, который извлекает соответствующие данные из журналов с соответствующими идентификаторами событий и записывает их в базу данных SQL. Проблема, с которой я сталкиваюсь, состоит в том, что оператор select завершается неудачно с ошибкой "неизвестное поле", если я пытаюсь получить свойство EventRecordID (которое я вижу в XML для любого события).
Он генерирует RecordNumber; однако это число относится к запросу, а не к самой записи события. Это означает, что у меня есть уникальный номер записи для каждого события каждый раз, когда я запускаю запрос, поэтому, если событие все еще находится в журналах в течение нескольких последовательных запусков, оно записывается в базу данных несколько раз.
Как я могу получить это, чтобы записать только один экземпляр вентиля в базе данных?
1 ответ
Хорошо, так что я не знаю, что на самом деле есть ответ на этот вопрос. то есть документация / объяснение поля RecordNumber или почему Log Parser не может прочитать поле EventRecordID.
Тем не менее, один из ответов на этот вопрос ServerFault позволит мне выполнить то, что мне нужно в любом случае. (Я проголосовал за этот ответ, но ФП не пометил его как решение).
Решение состоит в том, чтобы использовать файл контрольных точек, который записывает последний запуск запроса Log Parser и считывает только новые записи из указанного журнала. Это не только гарантирует, что уникальные записи будут считаны из журнала (и, что более важно, записано в базу данных), но также повышает эффективность запроса.
В этой старой статье TechNet есть некоторая информация о контрольных точках, а также аккуратное краткое описание того, как использовать ее в этом посте.