Логирование в MS SQL?

Есть ли готовые решения для логирования действий в БД?

Нужно при изменении данных в любой таблице логировать:

  1. — пользователя
  2. — время
  3. — содержимое строки


Это должно происходить для любых операций, т.е. insert/update/delete.


При этом содержимое лога не должно ограничиваться журналом транзакций.


Нагуглил пару вариантов, но оба не подходят — либо нет даты, либо данные из журнала транзакций.
  • Вопрос задан
  • 7132 просмотра
Решения вопроса 1
eternals
@eternals
Change Data Capture (CDC)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
darkslesh
@darkslesh
Если таблиц не очень много, то можно организовать всё в виде тригеров и пусть лог пишется в отдельную таблицу.
Ответ написан
dmach
@dmach
Конечно же есть готовые решения — сам SQL Server — msdn.microsoft.com/en-us/library/aa260328(SQL.80).aspx, процедура sp_trace_create и далее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы