2016-07-04 5 views
0

私は現在、すべてのテーブルの監査を必要とするSQL Serverのデータベース設計を検討中です。私が検討している手法の1つは、「データベースのみを挿入」です。ここでは、更新と削除は実行されず、挿入のみが行われます。必要とされていない挿入専用データベースの長所と短所は何ですか?

賛否

  1. トリガまたは監査のためのチェンジ・データ・キャプチャ:現在ここに私の長所と短所の一覧です。
  2. すべての変更が記録されます。 が監査に含まれていないフィールドを追加することはできません。
  3. ロックが少ない。多くの場合、レコードの変更は を必要としている場合

短所

  1. 表のサイズはかなり大きいです。
  2. 最新のレコードのみを取得するためには、すべてのテーブルのビューが必要です。 クエリを簡単にするためにはこれが必要です。
  3. 監査データは、レプリケートされたサーバーに格納されます。
  4. 監査からフィールドを除外するオプションはありません。

私はクエリに関する追加コストとレコードロックの処理方法について懸念しています。

「データベースのみを挿入」を使用する際の賛否両論について、アドバイスや経験がある人はいますか?

1)クエリの追加費用:

+3

ビジネス要件を深く理解することなく、あらゆる種類の一貫したアドバイスを提供することは不可能です。 –

+2

"現在、すべてのテーブルの監査を必要とするSQL Serverのデータベース設計を検討しています"なぜ監査しないのですか – TheGameiswar

+1

プロでは、ロックを少なくしてログを少なくすることができます。 –

答えて

0

私の元の質問は、私はデータベースのみを挿入し使用していた2つの懸念に関するましました。正しいインデックスを設定して正しい表示を設定すると、これはデザインにとって大きな問題ではないはずです。

2)レコードロックの処理方法。これは答えられていないし、私はそれがこのデザインの問題ではないかもしれないと感じている。

このデータベース設計では、挿入専用のテクニックを使用しないようにし、監査テーブルに「Change Data Capture」を使用することを決定しました。私はしかし、将来のデータベース開発では、 '挿入のみ'の技術を検討します。

関連する問題