私は支払情報を格納するために使用されるアプリケーションを開発中です。トランザクション監査の追加に関する提案SQL Server 2008データベースの金融システムの場合
監査対象のテーブルでフィールドが変更されると、次のものを含む監査行が書き込まれます。1テーブル名、フィールド名、古い値、新しい値、および次の値を含む監査行を作成します。タイムスタンプ。 1つの挿入は、更新される行ごとに変更されるフィールドごとに行われます。
私はSQL Serverでトリガを避けることができます。なぜなら、ドキュメント化が難しくトラブルシューティングが難しくなるためですが、これはトリガの良いユースケースですか?
現在、アプリケーションは、それ自身で追加する必要があるすべての監査行を決定し、数十万行の監査行INSERT文をサーバーに送信します。これは本当に遅く、私たちのためには維持できません。
まず、インサートをしているときは、これらのバルクインサートですか? INSERTはStoredProc TSqlに基づいたトランザクションベースで行われます。接続プールはどのように見えますか?彼らは接続を開いたり閉じたりしていますか?また、トリガと制約だけでなく、インデックス作成することができますsomethings ..あなたのDBAと話して..? – MethodMan
Event Sourcingに関する調査をお試しください。あなたにぴったりのようなサウンドです(すべてのオブジェクトは、発生したイベントから構築されます。イベントはDBに格納され、オブジェクト自体ではなく、100%のトレーサビリティを提供します)。 – driis
http://dba.stackexchange.com/のその他の質問 –