web-dev-qa-db-ja.com

特定のデータベースイベントの監査

監査の目的で、これらのイベントの監査を有効にする必要があるという要件があります。

  • DBAログイン
  • DBA、LIKE INSERT、DELETE、UPDATE、ALTERなどによる変更

アプリケーションによる変更はテーブル(CreatedBy、ModifiedBy、CreatedOn、ModifiedOn)に保存され、行の変更は特定のテーブルのXMLに保存されるため、アプリケーションによる変更をログに記録する必要はありません。

以前は一時的にC2監査モードを有効にしていましたが、データ量とパフォーマンスの考慮事項、およびこれらの要件を念頭に置いているため、過度に考慮して無効にしました。

C2監査モードを有効にするのはかなり簡単ですが、この種のロギングを実行するようにデータベースを構成するにはどうすればよいですか?

その他の注意事項:

  • 現在、サーバーではSQL Server 2008 R2 Enterpriseを使用していますが、主にデータストレージとレポートサービスがあるため、SQL Server 2008 R2 Standardにダウングレードします。
4
Carlos Ferreira

SQL Server 2008(r1)は 拡張イベント を導入し、それに伴い SQL Server Audit が導入され、XEventsと同様に機能してイベントを監査します。そのため、C2監査やサーバー側のトレースよりも邪魔になりません。

それは非常にきめ細かく、セットアップはかなり簡単です。この機能は、SQL Server 2008 R2のすべてのエディションで使用できます。良い記事の紹介/ハウツーは、Brad McGeheeによって here で見つかります。 Thomas LaRockも素晴らしい Simple-Talkに関する記事 監査の作成/設定について説明しました。

上記の記事を読むと、イベントをさまざまな場所(Windowsアプリのログ、ファイルなど)に記録できることがわかります。その後、PowerShellスクリプトまたは T-SQLスクリプト を記述して、必要なことを警告できます。 C2 Auditトレースファイルをねじ込むよりもはるかに簡単です。

4
user507

ApexSQLログは、DBAのLIKE INSERT、DELETE、UPDATE、ALTER(など)によって行われた変更を監査できますが、DBAログインは監査できないことを知っています。

ただし、彼らは「誰が何を見たか」を追跡し、ログインを試行できる新しいツールを発表しているため、そこに何かがあるかもしれません: スニークピーク:ApexSQL Comply-パートIIApexSQL Complyの紹介

挿入、削除、更新も追跡できるようです(ショットを参照してください。完全な監査証跡について言及しています)。しかし、このツールがいつ利用可能になるかについての情報はありません。また、非常に便利なツールのように見えるため、ベータ版についても触れていません。

3

SQL Serverでの成功したログインと失敗したログインの詳細を知るために、Lepideのツールを試してみることをお勧めします。 SQLサーバー。このツールは、データベースおよびSQL Serverオブジェクトに対して実行された作成、変更、およびドロップ操作の誰、何、いつ、どこでの詳細を伝えるレポートを生成することにも特化しています。

ツールのリンクを提供しています http://www.lepide.com/sql-server-audit/ このツールはDMLアクティビティのキャプチャをサポートしています。

0
tarun