Если у вас есть схемы, которые повторно используются в разных частях вашей модели, тогда было бы полезно определить отдельные схемы для дочерних документов, чтобы вам не пришлось дублировать себя.
Сколько записи по сравнению с чтением этой таблицы (таблиц) Вы ожидаете?
я использовал единственную контрольную таблицу, со столбцами для Таблицы, Столбцом, OldValue, NewValue, Пользователем и ChangeDateTime - достаточно универсальный для работы с любыми другими изменениями в DB, и в то время как МНОГО данных было записано в ту таблицу, отчеты о тех данных были достаточно редки, что они могли быть выполнены в периоды низкого использования дня.
Добавленный: , Если объем данных по сравнению с созданием отчетов является беспокойством, контрольная таблица могла бы копироваться в сервер базы данных только для чтения, позволяя Вам выполнить отчеты каждый раз, когда необходимо без срывания главный сервер от выполнения их работы.
Я использую подход, описанный Greg в его ответ , и заполняю контрольную таблицу с хранимой процедурой, названной от триггеров таблицы.
Я нашел эти две ссылки полезными:
Используя CLR и единственную контрольную таблицу.
Создание универсального контрольного триггера с SQL 2005 CLR
Используя триггеры и отдельную контрольную таблицу для каждой контролируемой таблицы.
, Как я контролирую изменения в данных SQL Server?
Есть ли какие-либо встроенные контрольные пакеты? Oracle имеет хороший пакет, который даже отошлет контрольные изменения в отдельном сервере вне доступа любого плохого парня, который изменяет SQL.
Их пример является потрясающим..., он показывает, как предупредить на ком-либо изменяющем контрольные таблицы.
OmniAudit мог бы быть хорошим решением для Вас, нуждаются. Я никогда не использовал его прежде, потому что я - довольно счастливая запись моих собственных контрольных стандартных программ, но это звучит хорошим.