2012-02-28 11 views
1

私のアプリケーションに履歴機能を実装したいのですが、すべてのビジネスオブジェクトデータテーブルの履歴データテーブルを作成することを控えています。続く履歴テーブルの実装

ID: int 
XML: Data 
Name: data table name 

として変更されたデータを1つのID列とXML列が含まれている私は1つの履歴データテーブルを作成する方法について考えていた

、このアプローチは誰かによって実装されるか、あなたはこのアーキテクチャについての制約を見ています?

答えて

0

私はこの記事の変更版 - Adding simple trigger-based auditing to your SQL Server databaseを使用しています。

最新のDMVでは利用できない列の位置に依存しているため、INFORMATION_SCHEMAビューが使用されます(例:sys.tables,)。それ以外は、飛行し、魅力的に働く。

パフォーマンスが問題になる場合(これはまれです)、Service Brokerを使用して履歴テーブルに書き込むための非同期トリガを実装することを検討できます。

0

2008年を使用しているので、Change Data Captureを試してみることができます。

+1

デフォルトでは3日ごとにデータがパージされるため、これは履歴テーブルには適切ではありません。 – HLGEM

+0

それは[sys.sp_cdc_change_job](http://msdn.microsoft.com/en-us/library/bb510748.aspx)で構成することができます – Stijn

+0

しかし、ほとんどの人はドン;それは私がそれを持っている理由を知っている – HLGEM