11

Microsoftのドキュメントの深淵を深く掘り下げる前に、Change DataCaptureとChangeTrackingの経験がある人が、これらの一方または両方を従来の...に置き換えることができるかどうかを知っているかどうかを知りたいと思います。

「トリガーによって挿入された「実際のテーブル」(元のテーブルのすべてのフィールドに加えて、日付/時刻、ユーザーID、およびDMLアクションフィールド)の証跡テーブルのコピーを監査します。」

...データベーステーブルの監査証跡を設定します。ここで、トリガーは監査証跡テーブルにデータを入力します(これはすべて手動の作業です)。

MSDNの概要ドキュメントでは、変更データのキャプチャと変更の追跡について大まかに説明していますが、これらのツールを使用して従来の監査証跡テーブルを置き換えることができることは、私には十分に明確ではなく、明確に述べられていません。とても頻繁に作りました。

変更データキャプチャと変更追跡を使用した経験のある人は、私に多くの時間を節約できますか、または私が適切なツールを探すことに時間を費やしていることを確認できますか?監査証跡の重要な部分は、テーブルのフィールド(INSERT、UPDATE、DELETE)に対するすべての変更を、いつ発生し、誰が実行したかをキャプチャすることです。これらの変更は通常、監査証跡レポートを介して時系列でエンドユーザーに提供されます。別の質問はどれですか...変更データキャプチャまたは変更追跡が解決策です。このデータは通常のテーブルのデータと同じようにクエリできると思いますか?

編集:時間に関係なく、恒久的な監査証跡が必要です。Change Data Captureはトランザクションログに関係していることがわかります。そのため、これは私には有限に聞こえます。

4

1 に答える 1

5

私はあなたがあなたの状況でまだ監査テーブルを必要としていると思います。BOLを見ると、クリーンアップジョブが自動的に作成され、毎日午前2時に実行されるようにスケジュールされているようです。BOLから:

クリーンアップジョブは毎日午前2時に実行されます。変更テーブルエントリは4320分または3日間保持され、1回の削除ステートメントで最大5000エントリが削除されます。

それは間違いなくあなたが望むことをしないように聞こえます。テーブルを監査する人が望んでいることをそれが行うとは思えません。また、データテーブルにないフィールドを、それ自体の5つのデフォルトフィールド以外に監査ログに追加することは不可能ではないにしても難しいようです(それらが何であるかはわかりませんでした)。また、データはそうではないようです。クエリを実行したり、特定の不正な変更をロールバックするために使用したりするのに非常に便利です。または、おそらく私はプロセスを理解していません。BOLはこの主題についてかなり不十分に書かれているため、監査をこの明らかによく考えられていないプロセスに置き換える際の懸念には確かに答えませんでした。

于 2010-04-21T17:19:34.190 に答える