SQLServerの監査ログ機能でフィルターを使ってみた
SQLServerで監査ログを取ろうと思ったが予想以上にログが出てしまったので、削減手法の1つであるフィルターという設定を試してみた。以下その知見をまとめる。
まず設定は監査->右クリック->プロパティ->フィルタで設定できる。
右の中の枠に実際の条件を記載していく。下記の中でWHERE句や述語と書いてあったので、WHEREから記載するのかと思ったが、条件だけを記述しないとエラーになるので注意してほしい。
サーバー監査およびサーバー監査の仕様を作成する - SQL Server | Microsoft Learn
括弧などは勝手に登録すると補完してくれる。
下記のように登録ができたら、OKを押下して監査を有効化すれば完了である。
確かに、object_nameがcodeとmasterしか監査ログに出力されなくなっていることが確認できる。
記述方法は一見するとSQL文と同様に見えるが、in句などは利用できないので注意してほしい。
特定のobject_nameを出力したくない場合は下記のように記述する。