Назад | Перейти на главную страницу

Рекомендации по ведению журнала аудита SQL Server

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

У нас есть ситуация, когда как минимум 2 (иногда 3) человека входят в SQL с помощью SQL Server Management Studio и выполняют различные функции.

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

Есть ли способ сделать это?

Вы можете настроить триггеры DML, использовать журнал транзакций базы данных для чтения информации о транзакции (DELETE), использовать собственные функции SQL Server:

  • Отслеживание изменений SQL Server
  • Сбор данных об изменениях в SQL Server
  • Аудит SQL Server

или используйте сторонние инструменты

ApexSQL имеет два инструмента аудита - ApexSQL Log и ApexSQL Audit. Есть определенные преимущества использования одного над другим, например:

  • Период времени, необходимый для аудита - до установки инструмента или после
  • Спектр операций, которые можно проверить
  • Автоматизация, как хранится проверенная информация и как ее можно запросить впоследствии

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

Вы можете использовать несколько различных инструментов. Если у вас SQL Server 2008 или выше, есть встроенный аудит, который может собирать эту информацию.

В противном случае вы можете получить информацию с помощью SQL Profiler или трассировки на стороне сервера.

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

Для такого рода вещей у нас есть Idera Compliance Manager, хотя я уверен, что есть и другие поставщики с подобными продуктами.

Как сказал @mrdenny, в 2008 году появилась встроенная функция аудита. Вы можете начать с этот и этот статьи.

Также вы можете ознакомиться с этим техническим документом:Аудит в SQL Server 2008 и Понимание аудита SQL Server

Имейте в виду, что профилировщик SQL связан с большими накладными расходами.