2015-06-12 1 views
0

У меня есть SQL 2014 Enterprise и настроен на изменение сбора данных (CDC). У меня есть столбцы UserId во всех моих таблицах. Поэтому CDC отлично справляется с тем, кто вставил и обновил строку, но если кто-то удалит строку, я не вижу, кто удалил строку (у нее есть предыдущий UserId в строке). Я знаю, что у Oracle есть эта функция, включенная в их пакет CDC.Журнал, который удалил строку с помощью Change Data Capture

+1

Идея заключалась бы в добавлении 'TRIGGER AFTER DELETE' к таблице для входа в таблицу отслеживания. – Siyual

+1

Возможно, связано: http://dba.stackexchange.com/questions/34079/change-data-capture-how-to-know-who-made-the-change Ответ Аарона Бертранна (неудивительно) очень полезен. (Подсказка: CDC не делает этого «по дизайну». CDC, похоже, получил «достаточно хорошее для списка функций флажков».) –

+0

Если вы хотите попробовать/верный способ отслеживать такие вещи, вы можете реализовать Аудит SQL. CDC - это просто функция отслеживания изменений для целей ETL, а не столько аудит. – Greg

ответ

1

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

Смежные вопросы