1

いくつかのテーブルの監査データを維持するために、変更データ キャプチャ (CDC) 機能を使用する運用データベースがあります。しかし、パフォーマンスへの影響と、CDC が原因で実行できないインデックスの追加など、データベース構造を変更する必要があるため、CDC を無効にする必要があります。

要件は、一連のテーブルに対する Web アプリケーションからのすべての挿入、削除、および更新アクションを単一の監査テーブルにキャプチャすることです。たとえば、[C# で] Web アプリケーションを介して TableA に対して行われた追加、更新、および削除ごとに、TableA の監査情報を TableB に保持する必要があります。

現在、セット内の各テーブルに対してこれら 3 つのアクションのいずれかを引き起こす可能性のある各ストアド プロシージャを更新しています。しかし、テーブルの膨大なリストがあるため、エラーが発生しやすく、時間がかかる方法です。

これを達成するために、時間とパフォーマンスの両方の面でより効率的なより良い方法を手伝ってください。

4

1 に答える 1

0

簡単な回答 : データベースを変更するすべてのアクションが記録されていることを確認してください。

私たちのプロジェクトでは、次のフィールドを持つ別のテーブルを作成しました

   Date_And_Time     Actions     UserID     Part_of_Program

ユーザーが挿入、更新、または削除コマンドを実行するか、システムにログインまたはログアウトするか、システムがデータベース内で自動操作を実行するたびに、プログラムはここにレコードを自動的に挿入し、どのアクションが実行されたか、誰が実行したかを示しますまた、プログラムのどの部分が影響を受けましたか。

..または、テーブルの現在のサイズを常にチェックするコードを作成することもできます。サイズが変更された場合は、監査テーブルに記録します。サイズが大きくなった場合は、データが挿入されています。それ以外の場合、データは削除されました。

于 2013-10-30T09:32:19.563 に答える