DML Auditing ("Кто делал вставки?")

Сохраняет ли вновь созданная база данных (в SQL Server 2008) какие-либо записи аудита DML, такие как:

  • Пользователь 'George' сделал вкладку в таблицу 'Alpha' 20.06.2011
  • Пользователь 'Fred' удалил таблицу 'Beta' 21.06.2011

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

3 ответа

Решение

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

Есть пара сторонних продуктов, таких как LiteSpeed ​​для SQL Server, которые могут просматривать журнал транзакций.

Если база данных находится в простом режиме восстановления, эти данные хранятся не очень долго.

Вы можете вручную создать соответствующие триггеры DML, но это также требует ручной настройки репозитория аудита. С другой стороны, процесс может быть автоматизирован с помощью ApexSQL Audit, инструмента аудита для баз данных SQL Server, который фиксирует изменения данных, произошедшие в базе данных, включая информацию о том, кто внес изменение, какие объекты были затронуты, когда оно было сделано, а также информация о логине SQL, приложении и хосте, использованном для внесения изменений. Он сохраняет всю захваченную информацию в центральном хранилище и экспортирует ее в удобные для печати форматы. Технология, которую ApexSQL Audit использует для аудита, основана на триггерах. Они создаются с использованием визуального интерфейса без каких-либо знаний T-SQL.

Отказ от ответственности: я работаю инженером по поддержке продуктов в ApexSQL

Ссылка, о которой вы упоминаете, содержит хорошие пошаговые инструкции, она будет делать именно то, что вы хотите, просто убедитесь, что вы не оставляете размер файла аудита неограниченным, и я бы рекомендовал ограничить размер в МБ, иначе они будут длиться вечно. открыть.

Другие вопросы по тегам