既存のWebアプリケーションで監査証跡を作成するための設計段階です。アプリケーションはWindows Azure上で動作し、SQL Azureデータベースを使用します。Azureに監査データを格納する方法
監査ログは、ユーザー、オブジェクトタイプ(ユーザーのすべてのアクションを表示する、オブジェクトで実行されるすべてのアクションを表示するなど)でフィルタリングする必要があります。
SQL Azureを使用する場合は、データの格納方法を選択する必要がありますか、テーブルストレージを使用する必要がありますか?
しかし、テーブルストレージの「問題」はパーティションキーを定義する方法です。私たちには、数千人の顧客(アプリケーションユーザー)がそれぞれのテナントのSQLデータベースにあります。テナントIDをパーティションキーとして使用するだけでは不十分なので、パーティションキーに何かを追加する必要があります。だから問題があります:フィルタリングのために、パーティションキーにユーザIDを追加してユーザによるフィルタリングを簡単にするか、オブジェクトIDを追加してオブジェクトによるフィルタリングを容易にすることができます。
だから我々は2つの解決策を参照してください。
を - 代わりに、テーブル記憶
のSQL Azureのを使用する - 何私たちは、すべてのエントリ
任意のアイデアを複製する意味し、テーブルのストレージを使用し、異なるパーティション・キーを持つ2つのテーブルを使用私たちの状況に最善のアプローチ?他にも優れたソリューションがありますか?
DDL、DMLなどのSQLデータベースアクティビティやユーザー操作全体を監査しようとしています – TheGameiswar
特定のイベント(CRUD操作)を保存したい場合、これらのイベントはSQLデータだけでなく、 – Hanno
すべての監査 "レコード"がテーブルストレージ(1 MB)のサイズ基準に適合する場合、私はそれがほとんど好みであり、どのようにそれらにアクセスできるようにしたいと思います。チームがSQL/SQL Serverに精通しており、[テーブルストレージの並行性](https://azure.microsoft.com/en-us/documentation/articles/storage-concurrency)の処理を念頭に置いていれば、私は個人的にSQL Azureに行きます。 /#管理 - テーブルサービス内の同時実行) –