SQL Server監査第二編:監査データの表示
6544 ワード
ビューと関数を動的に管理して表示できる監査オブジェクト
監査サーバーの監査オブジェクトの情報を表示します.これは監査オブジェクトのメタデータです.
監査オブジェクトの現在のステータスと、監査オブジェクトに関連付けられたExtended Eventsセッションの表示
監査仕様は、サーバ・レベルの監査仕様とデータベース・レベルの監査仕様に分けられます.次のスクリプトは、データベース・レベルの監査仕様を表示するために使用します.
監査アクションは、実際には監査可能なイベントによってトリガーされます.監査アクションは、監査を作成するために監視する必要があるオブジェクトです.
監査データは、監査データを作成する目的であり、監査データによってシステムで発生したイベントを追跡し、イベントに関連する情報を記録します.
監査データは関数fn_を介してget_audit_file()で取得され、返されるフィールドには主に次の2つのクラスがあります.第1のクラスはデータベースの環境に関連しています. application_name:SQL文を実行して監査イベント をトリガーするクライアント・アプリケーションの名前 server_instance_name:監査が発生したSQL Serverインスタンス名 database_name:監査動作が発生したデータベース database_principal_idとdatabase_principal_name:監査動作を実行するユーザ server_principal_idとserver_principal_name:議長の監査作用のLogin server_principal_sid:loginのsid session_id:監査動作発生session session_server_principal_name:監査動作で発生したセッションのlogin 2番目のクラスは、イベントとイベントに関連付けられたデータです. action_id:監査動作ID event_time:監査動作(Audit Action)がトリガーする時間 class_type:監査作用のオブジェクトのタイプ schema_name:監査作用のオブジェクトのschema名 object_idとobject_name:監査対象のIDと名称 statement:実行されるSQL文 succeeded:監査動作が成功したかどうかを示す sequence_group_idとsequence_number:単一監査レコード(audit record)のsizeが大きすぎる場合、監査はsequence_を介してグループ化されます.numberは、順序 をマークする
監査追跡のデータは、次のスクリプトで表示できます.
参照ドキュメント:
SQL Server Audit (Database Engine)
一、サーバー監査オブジェクトの表示
監査サーバーの監査オブジェクトの情報を表示します.これは監査オブジェクトのメタデータです.
select a.audit_id
,a.audit_guid
,a.name
,a.create_date
,a.modify_date
,a.principal_id as owner_prinicpal_id
,a.type
,a.type_desc
,a.on_failure
,a.on_failure_desc
,a.is_state_enabled
,a.queue_delay
,a.predicate
from sys.server_audits a
監査オブジェクトの現在のステータスと、監査オブジェクトに関連付けられたExtended Eventsセッションの表示
select s.audit_id
,s.name
,s.status
,s.status_desc
,s.status_time
,s.audit_file_path
,s.audit_file_size
,s.event_session_address
,e.name as xe_session_name
,e.pending_buffers
,e.total_regular_buffers
,e.regular_buffer_size
,e.large_buffer_size
,e.total_buffer_size
,e.buffer_policy_flags
,e.buffer_policy_desc
,e.flags
,e.flag_desc
,e.dropped_event_count
,e.dropped_buffer_count
,e.blocked_event_fire_time
,e.create_time
,e.largest_event_dropped_size
from sys.dm_server_audit_status s
inner join sys.dm_xe_sessions as e
on s.event_session_address=e.address
二、監査規範
監査仕様は、サーバ・レベルの監査仕様とデータベース・レベルの監査仕様に分けられます.次のスクリプトは、データベース・レベルの監査仕様を表示するために使用します.
select s.audit_guid
,s.name as audit_specification
,s.create_date
,s.modify_date
,s.is_state_enabled
,d.audit_action_id
,d.audit_action_name
,d.class
,d.class_desc
,d.major_id
,d.minor_id
,d.audited_principal_id
,d.audited_result
,d.is_group
from sys.database_audit_specifications s
inner join sys.database_audit_specification_details as d
on s.database_specification_id=d.database_specification_id
三、監査動作
監査アクションは、実際には監査可能なイベントによってトリガーされます.監査アクションは、監査を作成するために監視する必要があるオブジェクトです.
select a.action_id
,a.action_in_log
,a.name as action_name
,m.class_type
,a.class_desc
,m.securable_class_desc
,a.parent_class_desc
,a.covering_action_name
,a.configuration_level
,a.containing_group_name
from sys.dm_audit_actions a
inner join sys.dm_audit_class_type_map m
on a.class_desc=m.class_type_desc
四、監査データ
監査データは、監査データを作成する目的であり、監査データによってシステムで発生したイベントを追跡し、イベントに関連する情報を記録します.
監査データは関数fn_を介してget_audit_file()で取得され、返されるフィールドには主に次の2つのクラスがあります.第1のクラスはデータベースの環境に関連しています.
監査追跡のデータは、次のスクリプトで表示できます.
select f.event_time
,f.sequence_group_id
,f.sequence_number
,f.action_id
,a.name as action_name
,f.succeeded
,f.server_principal_name
,f.database_principal_name
,f.database_name
,f.object_id
,f.schema_name
,f.object_name
,f.class_type
,m.class_type_desc
,f.statement
,f.session_id
,f.application_name
from sys.fn_get_audit_file('G:\AuditFiles\MonitorQuery\*',default,default) f
inner join sys.dm_audit_actions a
on f.action_id=a.action_id
inner join sys.dm_audit_class_type_map m
on f.class_type=m.class_type
order by f.event_time
参照ドキュメント:
SQL Server Audit (Database Engine)