私は、すべてのデータベーストランザクションを監査する必要があるビジネスアプリに取り組んでいます(主に法的な目的で)。
私はWebを見回して、DoddleAudit(http://www.codeplex.com/DoddleAudit)に出くわしました。これは、基本的に、変更を追跡するためのLinqtoSQLの機能を追加します。人々がHibernateでインターセプターを使用するのと同じように。
これに関して私が懸念しているのは、信頼性の問題です。ORMレイヤーの監査ログは、コードを介して発生するすべてのことを記録する場合がありますが、誰かがデータベースやハッカーなどに対して手動でSQLステートメントを発行した場合、変更はログに記録されません。基本的に、私が扱っている情報はやや敏感。それが、トリガーがおそらく最も信頼できる方法であると私に信じさせる理由です。(?)
ログに記録する他の方法は、コードを使用するか、少しハッキーで信頼性が低いと思われるストアドプロシージャを使用する方法です。だから私は基本的にトリガーかDoddleAuditのようなものを使うことになります。
どちらかを選ぶ前に、私はいくつかの意見を得たいと思っていました。