0

私は SQL 2008 を使用しており、テーブル XYZ で DELETE、UPDATE、および INSERT 監査を有効にしています。データをクエリするとき以外はうまく機能します。

SELECT * FROM fn_get_audit_file('H:\SQLAudits\*', default, default)

何が削除、挿入、または更新されたかは実際には表示されず、削除などが発生したことだけが表示されます。上記のクエリのステートメント列は、次のスニペットを示しています。

delete [dbo].[XYZ]  where ([Name] = @0)

@0 の値を教えてほしいです。これを行う方法はありますか?

4

4 に答える 4

0

参照

の間に、タイプ、、のCreating Database Audit Specification操作を選択しますAudit ActionINSERTUPDATEDELETE

この結果、ログが表示され、次のようにSelect or Insert or Update or Deleteなります...しかし、個々の値は表示されません。

例-挿入/更新/削除のログを表示するには、ここをクリックしてください

于 2012-05-24T16:13:42.307 に答える
0

私が発見したことによると、SQL Server 2008 の「監査」機能は非常に不足しています。これは、変更を行ったユーザーなどの完全な情報とともに、(トリガーを介して) 何かが変更されるたびに新しい行を保存する、従来のデータ監査証跡としては機能しません。多かれ少なかれ、何かが変更されたことを示すだけで、詳細はわかりません。SQL Server に完全なデータ監査証跡機能が含まれることを切に願っています。

于 2012-05-24T15:22:15.267 に答える
0

SQL Server 監査ツールは非常に強力ですが、データの変更を記録するようには設計されていません (たとえば、'sa' によってデータベース 'test' のテーブル 'dummy' で col1 が 'fred' から 'santa' に変更されました)。

これには、 Change Data Capture ( http://msdn.microsoft.com/en-us/library/bb522489.aspx )が必要です。

乾杯、マーク

于 2013-10-10T04:55:48.273 に答える