Linq to SQL Audit Trail / Audit Log: мне использовать триггеры или doddleaudit? - PullRequest
3 голосов
/ 26 января 2010

Я работаю над бизнес-приложением, которое требует проверки ВСЕХ транзакций базы данных (в основном для юридических целей).

Я осмотрел сеть и наткнулся на DoddleAudit (http://www.codeplex.com/DoddleAudit), который в основном добавляет возможность Linq для SQL отслеживать изменения. Так же, как люди используют перехватчики в Hibernate.

Меня беспокоит вопрос надежности. Хотя журнал аудита на уровне ORM может записывать все, что происходит с помощью кода, он не будет регистрировать какие-либо изменения, если, скажем, кто-то вручную выполнит оператор SQL для базы данных или хакера и т. Д. несколько чувствительный Вот что заставляет меня верить, что триггеры, пожалуй, самый надежный способ. (?)

Другие способы входа в систему - через код или хранимые процедуры, которые кажутся немного ненадежными и ненадежными. Таким образом, я в основном либо использую триггеры, либо что-то вроде DoddleAudit.

Я надеялся получить несколько мнений, прежде чем выбрать либо.

Ответы [ 2 ]

3 голосов
/ 26 января 2010

Если аудит предназначен для законных целей, то вы должны сделать это с помощью сертифицированной методологии соответствия. Такие методологии очень специфичны для конкретных угроз , которые устраняются посредством аудита. Вам нужно прочитать Auditing (Database Engine) и, скорее всего, проконсультироваться со специалистом, который может дать вам рекомендации по различным правовым рамкам, которые окружают аудит данных, в зависимости от вашего местоположения и домена.

SQL Server имеет режим аудита, совместимый с C2, см. режим аудита c2, опция , которая является сертифицированным режимом, совместимым с . Аудит Linq2sql или пользовательский аудит данных могут быть блестящими инженерными достижениями, но они не выдержат ни капли воды, если они не сертифицированы на соответствие (и это не так).

1 голос
/ 26 января 2010

Если вы используете SQL Server 2008 (вопрос не указан), вы смотрели на поддержку, добавленную в этой версии?

http://msdn.microsoft.com/en-us/library/dd392015.aspx

...