Сбор данных изменений или отслеживание изменений - то же самое, что и в традиционной таблице аудита? - PullRequest
11 голосов
/ 21 апреля 2010

Прежде чем углубляться в пропасть документации Microsoft, я хотел бы знать, знает ли кто-нибудь, кто имел опыт с захватом и отслеживанием изменений, один или оба из них можно использовать вместо традиционных ...

"Аудитный след таблицы" Реал " table '(все поля исходной таблицы, плюс дата / время, идентификатор пользователя и DML поле действия) вставлено в Триггеры "

... настройка для контрольного журнала таблицы базы данных, в котором триггер заполняет таблицу контрольного журнала (все это ручная работа).

Обзорная документация MSDN на высоком уровне объясняет, что такое сбор данных изменений и отслеживание изменений, но мне это не совсем понятно, и я не заявляю прямо, что эти инструменты можно использовать вместо традиционного журнала аудита столы, которые мы делали так часто.

Может ли кто-нибудь, имеющий опыт использования сбора и отслеживания изменений, сэкономить мне много времени или подтвердить, что я трачу время на поиск подходящего инструмента? Важной частью нашего аудита является сбор всех изменений в полях таблицы (на INSERT, UPDATE, DELETE), когда это произошло и кто это сделал. Эти изменения обычно предоставляются конечному пользователю в хронологическом порядке через отчет контрольного журнала. Другой вопрос ... Решением является сбор данных изменений или отслеживание изменений, я бы предположил, что эти данные можно запрашивать так же, как данные из обычной таблицы?

РЕДАКТИРОВАТЬ: Мне нужен постоянный контрольный журнал, независимо от времени. Я вижу, что сбор данных изменений связан с журналами транзакций, поэтому для меня это звучит конечно.

1 Ответ

5 голосов
/ 21 апреля 2010

Я думаю, вам все еще нужны таблицы аудита в ваших обстоятельствах.Глядя в BOL, кажется, что задание очистки автоматически создается и выполняется по расписанию и выполняется каждый день в 2 часа ночи.С BOL:

Задание очистки выполняется ежедневно в 2 часа ночи. Оно сохраняет записи таблицы изменений в течение 4320 минут или 3 дней, удаляя максимум 5000 записей с помощью одного оператора удаления.

Звучит так, будто это определенно не делает то, что вы хотите.Я не могу думать, что это сделало бы то, что хочет любой, кто проверяет таблицы.Также представляется, что было бы трудно, если не невозможно, добавить в журнал аудита какие-либо поля, отсутствующие в таблице данных, кроме его собственных пяти полей по умолчанию (я не смог найти, какими они были.) Также оказалось, что данные не будутбыть очень полезным для запроса или использования для отката определенного плохого изменения.ИЛИ, может быть, я просто не понимаю этот процесс, потому что BOL довольно плохо написан на эту тему, он определенно не ответил ни на одну из проблем, которые у меня возникли бы при замене одитинга этим явно плохо продуманным процессом.

...