2010-01-26 65 views
3

我正在開發一個業務應用程序,要求對所有數據庫事務進行審計(主要是爲了合法目的)。Linq to SQL審計跟蹤/審計日誌:我應該使用觸發器還是doddleaudit?

我環顧網絡,碰到DoddleAudit(http://www.codeplex.com/DoddleAudit),它基本上增加了Linq to SQL跟蹤更改的能力。就像人們在Hibernate中使用攔截器一樣。

與此有關的事情是可靠性問題。雖然ORM層上的審計日誌可能會記錄通過代碼發生的所有事情,但如果某人手動發出針對數據庫或黑客等的SQL語句,則它不會記錄任何更改。基本上,我處理的信息是有點敏感。這就是我認爲Triggers可能是最可靠的方法。 (?)

其他記錄方式是通過代碼或通過存儲過程,這似乎有點hacky和不可靠。所以我基本上是使用觸發器或類似DoddleAudit。

雖然在選擇之前我希望能得到一些意見。

回答

3

如果審計是法律目的,那麼你必須通過合規的方法認證做。此類方法非常針對通過審計緩解的特定威脅。您需要詳細閱讀Auditing (Database Engine),並且更有可能諮詢專家,這些專家可以就圍繞數據審覈的各種法律框架(特定於您的位置和域)提供指導。

SQL Server具有C2兼容審計模式,請參閱c2 audit mode Option,這是認證的兼容模式。 Linq2sql審計或自定義數據審計可能是工程的輝煌壯舉,但如果他們沒有通過合規性認證(他們不是),他們就不會持有一滴水。