SQL Server 監査レコード
適用対象 SQL Server
SQL Server 監査機能を使用すると、サーバー レベルおよびデータベース レベルのイベントのグループおよびイベントを監査することができます。 詳細については、「SQL Server Audit (データベース エンジン)」を参照してください。 SQL Server。
監査は、監査 対象に記録される 0 個以上の監査アクション項目で構成されます。 監査ターゲットには、バイナリ ファイル、Windows アプリケーション イベント ログ、または Windows セキュリティ イベント ログを使用できます。 ターゲットに送信されるレコードに含まれる可能性がある要素を次の表に示します。
列名 | 説明 | Type | 常に使用可能かどうか |
---|---|---|---|
event_time | 監査可能なアクションが発生した日付/時刻。 | datetime2 | はい |
sequence_no | 大きすぎて監査の書き込みバッファーに収まらなかった 1 つの監査レコード内のレコードの順序を追跡します。 | int | はい |
action_id | アクションの ID ヒント: action_id を述語として使用するには、文字列から数値に変換する必要があります。 詳細については、「 Filter SQL Server Audit on action_id / class_type predicate (action_id/class_type 述語での SQL Server 監査のフィルター選択)」を参照してください。 |
varchar (4) | はい |
succeeded | 監査イベントをトリガーするアクションのアクセス許可のチェックが成功または失敗したかどうかを示します。 | bit - 1 = 成功、 0 = 失敗 |
はい |
permission_bitmask | 該当する場合、許可、拒否、または取り消されたアクセス許可を表示します。 | bigint | いいえ |
is_column_permission | 列レベル権限を示すフラグ。 | bit - 1 = True、 0 = False |
いいえ |
session_id | イベントが発生したセッションの ID。 | int | はい |
server_principal_id | アクションが実行されるログイン コンテキストの ID。 | int | はい |
database_principal_id | アクションが実行されるデータベース ユーザー コンテキストの ID。 | int | いいえ |
object_id | 監査が発生したエンティティのプライマリ ID。 この ID には次が可能です。 サーバー オブジェクト databases データベース オブジェクト スキーマ オブジェクト |
int | いいえ |
target_server_principal_id | 監査可能なアクションが適用されるサーバー プリンシパル。 | int | はい |
target_database_principal_id | 監査可能なアクションが適用されるデータベース プリンシパル。 | int | いいえ |
class_type | 監査が発生する監査可能なエンティティの種類。 | varchar(2) | はい |
session_server_principal_name | セッションのサーバー プリンシパル。 | sysname | はい |
server_principal_name | 現在のログイン。 | sysname | はい |
server_principal_sid | 現在のログイン SID。 | varbinary | はい |
database_principal_name | 現在のユーザー。 | sysname | いいえ |
target_server_principal_name | アクションの対象ログイン。 | sysname | いいえ |
target_server_principal_sid | 対象ログインの SID。 | varbinary | いいえ |
target_database_principal_name | アクションの対象ユーザー。 | sysname | いいえ |
server_instance_name | 監査が発生したサーバー インスタンスの名前。 標準の machine\instance の形式を使用します。 | nvarchar(120) | はい |
database_name | アクションが発生したデータベース コンテキスト。 | sysname | いいえ |
schema_name | アクションが発生したスキーマ コンテキスト。 | sysname | いいえ |
object_name | 監査が発生したエンティティの名前。 この名前には次が可能です。 サーバー オブジェクト databases データベース オブジェクト スキーマ オブジェクト Transact-SQL ステートメント (あれば) |
sysname | いいえ |
statement | TSQL ステートメント (あれば) | nvarchar (4000) | いいえ |
additional_information | XML として格納されるイベントに関する追加情報。 | nvarchar (4000) | いいえ |
解説
アクションに該当しないために列の値が設定されない場合もあります。
SQL Server 監査は、監査レコードの文字フィールドに 4,000 文字のデータを格納します。 監査可能なアクションから返される additional_information と statement の値が 4,000 文字を超えていた場合は、そのデータを記録するために、 sequence_no 列を使用して 1 つの監査アクションの監査レポートに複数のレコードが書き込まれます。 このプロセスは次のとおりです。
statement 列が 4,000 文字に分割されます。
SQL Server 監査は、監査レコードの最初の行として部分データを書き込みます。 他のすべてのフィールドは各行で複製されます。
sequence_no の値が増加されます。
すべてのデータが記録されるまでこのプロセスが繰り返されます。
このデータに接続するには、 sequence_no の値を使用して行を順番に読み取ります。アクションを識別するには、 event_Time、 action_id 、および session_id の各列を使用します。
関連コンテンツ
CREATE SERVER AUDIT (Transact-SQL)
ALTER SERVER AUDIT (Transact-SQL)
DROP SERVER AUDIT (Transact-SQL)
CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sys.fn_get_audit_file (Transact-SQL)
sys.server_audits (Transact-SQL)
sys.server_file_audits (Transact-SQL)
sys.server_audit_specifications (Transact-SQL)
sys.server_audit_specification_details (Transact-SQL)
sys.database_audit_specifications (Transact-SQL)
sys.database_audit_specification_details (Transact-SQL)
sys.dm_server_audit_status (Transact-SQL)