fn_get_audit_file (Transact-SQL)

サーバー監査で作成された監査ファイルからの情報を返します。詳細については、「SQL Server 監査について」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

fn_get_audit_file ( file_pattern, {default | initial_file_name | NULL }, {default | audit_file_offset | NULL } )

引数

  • file_pattern
    読み取り対象に設定する監査ファイルのディレクトリまたはパスとファイル名を指定します。この引数には、パス (ドライブ文字またはネットワーク共有) とファイル名の両方を含める必要があります。ファイル名にはワイルドカードを使用できます。1 つのアスタリスク (*) を使用すると、監査ファイル セットから複数のファイルを収集することができます。次に例を示します。

    • <path>\* - 指定した場所にある監査ファイルをすべて収集します。

    • <path>\LoginsAudit_{GUID} - 指定した名前と GUID の組を持つ監査ファイルをすべて収集します。

    • <path>\LoginsAudit_{GUID}_00_29384.sqlaudit - 特定の監査ファイルを収集します。

    注意

    ファイル名のパターンがないパスを渡すとエラーが発生します。

  • initial_file_name
    監査レコードの最初の読み取り元に設定する監査ファイル内の特定のファイルのパスと名前を指定します。

    注意

    initial_file_name 引数には、有効なエントリか、既定値または NULL 値のいずれかを指定する必要があります。

  • audit_file_offset
    initial_file_name で指定したファイルを使用して既知の場所を指定します。この引数を使用した場合、関数は、指定されたオフセットの直後にあるバッファの最初のレコードから読み取りを開始します。

    注意

    audit_file_offset 引数には、有効なエントリか、既定値または NULL 値のいずれかを指定する必要があります。

返されるテーブル

次の表に、この関数から返される監査ファイルの内容を示します。

列名

説明

event_time

datetime2

監査可能なアクションが発生した日時。NULL 値は許可されません。

sequence_number

int

大きすぎて監査の書き込みバッファに収まらなかった 1 つの監査レコード内のレコードの順序を追跡します。NULL 値は許可されません。

action_id

char(4)

アクションの ID。NULL 値は許可されません。

succeeded

bit

1 = 成功

0 = 失敗

イベントを発生させたアクションが成功したかどうかを示します。NULL 値は許可されません。ログイン イベント以外のすべてのイベントで、操作ではなく、権限チェックが成功したか失敗したかのみを報告します。

permission_bitmask

bigint

一部のアクションでは、権限の許可、拒否、または取り消しを示します。

is_column_permission

bit

1 = true

0 = false

列レベルの権限かどうかを示すフラグ。NULL 値は許可されません。permission_bitmask = 0 の場合は 0 を返します。

session_id

int

イベントが発生したセッションの ID。NULL 値は許可されません。

server_principal_id

int

アクションが実行されるログイン コンテキストの ID。NULL 値は許可されません。

database_principal_id

int

アクションが実行されるデータベース ユーザー コンテキストの ID。NULL 値は許可されません。該当しない場合は 0 を返します。たとえば、サーバー操作などの場合です。

target_server_principal_id

int

GRANT/DENY/REVOKE 操作が実行されるサーバー プリンシパル。NULL 値は許可されません。該当しない場合は 0 を返します。

target_database_principal_id

int

GRANT/DENY/REVOKE 操作が実行されるデータベース プリンシパル。NULL 値は許可されません。該当しない場合は 0 を返します。

object_id

int

監査が発生したエンティティの ID。次のようなエンティティが含まれます。

  • サーバー オブジェクト

  • データベース

  • データベース オブジェクト

  • スキーマ オブジェクト

NULL 値は許可されません。エンティティがサーバー自体である場合、または監査がオブジェクト レベルで実行されない場合は 0 を返します。たとえば、認証などの場合です。

class_type

char(2)

監査が発生する監査可能なエンティティの種類。NULL 値は許可されません。

session_server_principal_name

sysname

セッションのサーバー プリンシパル。NULL 値は許可されます。

server_principal_name

sysname

現在のログイン。NULL 値は許可されます。

server_principal_sid

varbinary

現在のログイン SID。NULL 値は許可されます。

database_principal_name

sysname

現在のユーザー。NULL 値は許可されます。使用できない場合は NULL を返します。

target_server_principal_name

sysname

アクションの対象ログイン。NULL 値は許可されます。該当しない場合は NULL を返します。

target_server_principal_sid

varbinary

対象ログインの SID。NULL 値は許可されます。該当しない場合は NULL を返します。

target_database_principal_name

sysname

アクションの対象ユーザー。NULL 値は許可されます。該当しない場合は NULL を返します。

server_instance_name

nvarchar(120)

監査が発生したサーバー インスタンスの名前。標準の server\instance の形式が使用されます。

database_name

sysname

アクションが発生したデータベース コンテキスト。NULL 値は許可されます。監査がサーバー レベルで発生した場合は NULL を返します。

schema_name

sysname

アクションが発生したスキーマ コンテキスト。NULL 値は許可されます。監査がスキーマの外部で発生した場合は NULL を返します。

object_name

sysname

監査が発生したエンティティの名前。次のようなエンティティが含まれます。

  • サーバー オブジェクト

  • データベース

  • データベース オブジェクト

  • スキーマ オブジェクト

NULL 値は許可されます。エンティティがサーバー自体である場合、または監査がオブジェクト レベルで実行されない場合は NULL を返します。たとえば、認証などの場合です。

statement

nvarchar(4000)

TSQL ステートメント (存在する場合)。NULL 値は許可されます。該当しない場合は NULL を返します。

additional_information

nvarchar(4000)

単一のイベントに対してだけ適用される固有の情報が XML として返されます。この種類の情報は、少数の監査可能なアクションに含まれます。

NULL 値は許可されます。イベントから追加情報が報告されない場合は NULL を返します。

file_name

varchar(260)

レコードの読み取り元の監査ログ ファイルのパスと名前。NULL 値は許可されません。

audit_file_offset

bigint

監査レコードを含むファイルのバッファ オフセット。NULL 値は許可されません。

説明

fn_get_audit_file に渡された file_pattern 引数で、存在しないパスまたはファイルを参照している場合、あるいはファイルが監査ファイルでない場合は、MSG_INVALID_AUDIT_FILE エラー メッセージが返されます。

権限

CONTROL SERVER 権限が必要です。

この例では、\\serverName\Audit\HIPPA_AUDIT.sqlaudit という名前のファイルから読み取ります。

SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO

監査を作成する方法の完全な例については、「SQL Server 監査について」を参照してください。

関連項目

参照

概念