sys.fn_get_audit_file (Transact-SQL)

Devuelve información de un archivo de auditoría creado por una auditoría de servidor. Para obtener más información, vea SQL Server Audit (motor de base de datos).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • file_pattern
    Especifica el directorio o la ruta de acceso y el nombre de archivo del conjunto de archivos de auditoría que se van a leer. El tipo es nvarchar(260). Este argumento debe incluir una ruta de acceso (letra de unidad o recurso compartido de red) y un nombre de archivo que pueda contener un carácter comodín. Se puede usar un asterisco (*) para recopilar varios archivos de un conjunto de archivos de auditoría. Por ejemplo:

    • <path>\*: recopila todos los archivos de auditoría de la ubicación especificada.

    • <path>\LoginsAudit_{GUID}: recopila todos los archivos de auditoría con el par de nombre y GUID especificado.

    • <path>\LoginsAudit_{GUID}_00_29384.sqlaudit: recopila un archivo de auditoría determinado.

    [!NOTA]

    Si se pasa una ruta de acceso sin un patrón de nombre de archivo, se producirá un error.

  • initial_file_name
    Especifica la ruta y el nombre de un archivo específico del conjunto de archivos de auditoría desde el que hay que empezar a leer registros de auditoría. El tipo es nvarchar(260).

    [!NOTA]

    El argumento initial_file_name debe contener entradas válidas o, de forma alternativa, el valor predeterminado o el valor NULL.

  • audit_record_offset
    Especifica una ubicación conocida con el archivo especificado para initial_file_name. Cuando se usa este argumento, la función inicia la lectura en el primer registro del búfer que está a continuación del desplazamiento especificado.

    [!NOTA]

    El argumento audit_record_offset debe contener entradas válidas o, de forma alternativa, el valor predeterminado o el valor NULL. El tipo es bitint.

Tablas devueltas

En la tabla siguiente se describe el contenido del archivo de auditoría que puede devolver esta función.

Nombre de columna

Tipo

Descripción

event_time

datetime2

Fecha y hora en la que se desencadena la acción auditable. No admite valores NULL.

sequence_number

int

Realiza un seguimiento de la secuencia de registros de un único registro de auditoría que era demasiado grande para caber en el búfer de escritura destinado a las auditorías. No admite valores NULL.

action_id

varchar(4)

Id. de la acción. No admite valores NULL.

succeeded

bit

1 = correcto

0 = error

Indica si la acción que desencadenó el evento se ha llevado a cabo correctamente. No admite valores NULL. Para todos los eventos que no sean los eventos de inicio de sesión, esto solo notifica si la comprobación del permiso tuvo o no tuvo éxito, no la operación.

permission_bitmask

varbinary(16)

En algunas acciones, este es el permiso que se concedió, denegó o revocó.

is_column_permission

bit

1 = verdadero

0 = falso

Marca que indica si éste es un permiso de nivel de columna. No admite valores NULL. Devuelve 0 si permission_bitmask = 0.

session_id

smallint

Identificador de la sesión en la que se produjo el evento. No admite valores NULL.

server_principal_id

int

Identificador del contexto de inicio de sesión en el que se realiza la acción. No admite valores NULL.

database_principal_id

int

Identificador del contexto de usuario de la base de datos en el que se realiza la acción. No admite valores NULL. Devuelve 0 si esto no es aplicable. Por ejemplo, una operación de servidor.

target_server_principal_id

int

Entidad de seguridad de servidor en la que se realiza la operación GRANT/DENY/REVOKE. No admite valores NULL. Devuelve 0 si no es aplicable.

target_database_principal_id

int

Entidad de seguridad de base de datos en la que se realiza la operación GRANT/DENY/REVOKE. No admite valores NULL. Devuelve 0 si no es aplicable.

object_id

int

Identificador de la entidad en la que se produjo la auditoría. Incluye lo siguiente:

  • Objetos de servidor

  • Bases de datos

  • Objetos de base de datos

  • Objetos de esquema

No acepta valores NULL. Devuelve 0 si la entidad es el propio servidor o si la auditoría no se realiza en un nivel de objeto. Por ejemplo, la autenticación.

class_type

varchar(2)

El tipo de entidad auditable en la que se produce la auditoría. No admite valores NULL.

session_server_principal_name

sysname

Entidad de seguridad de servidor para la sesión. Admite valores NULL.

server_principal_name

sysname

Inicio de sesión actual. Admite valores NULL.

server_principal_sid

varbinary

SID del inicio de sesión actual. Admite valores NULL.

database_principal_name

sysname

Usuario actual. Admite valores NULL. Devuelve NULL si no está disponible.

target_server_principal_name

sysname

Inicio de sesión de destino de la acción. Admite valores NULL. Devuelve NULL si no es aplicable.

target_server_principal_sid

varbinary

SID del inicio de sesión de destino. Admite valores NULL. Devuelve NULL si no es aplicable.

target_database_principal_name

sysname

Usuario de destino de la acción. Admite valores NULL. Devuelve NULL si no es aplicable.

server_instance_name

sysname

Nombre de la instancia de servidor donde se ha producido la auditoría. Se usa el formato servidor\instancia estándar.

database_name

sysname

Contexto de la base de datos en que se produjo la acción. Admite valores NULL. Devuelve NULL para las auditorías que se realizan en el nivel de servidor.

schema_name

sysname

El contexto del esquema en el que se produjo la acción. Admite valores NULL. Devuelve NULL para las auditorías que se producen fuera de un esquema.

object_name

sysname

El nombre de la entidad en la que se produjo la auditoría. Incluye lo siguiente:

  • Objetos de servidor

  • Bases de datos

  • Objetos de base de datos

  • Objetos de esquema

Admite valores NULL. Devuelve NULL si la entidad es el propio servidor o si la auditoría no se realiza en un nivel de objeto. Por ejemplo, la autenticación.

statement

nvarchar(4000)

Instrucción TSQL, si existe. Admite valores NULL. Devuelve NULL si no es aplicable.

additional_information

nvarchar(4000)

La información única que se aplica exclusivamente a un evento se devuelve como XML. Este tipo de información está incluida en un pequeño número de acciones de auditoría.

Un nivel de pila de TSQL se mostrará en formato XML para las acciones que tienen asociada la pila de TSQL. El formato XML será:

<tsql_stack><frame nest_level = '%u' nombreDeBaseDeDatos = '%.*s' nombreDeEsquema = '%.*s' nombreDeObjeto = '%.*s' /></tsql_stack>

Frame nest_level indica el nivel de anidamiento actual del marco. El nombre del módulo se representa en formato de tres partes (nombreDeBaseDeDatos, nombreDeEsquema y nombreDeObjeto). El nombre del módulo se analizará para utilizar como escape caracteres xml no válidos; por ejemplo '<', '>', '/' y '_x'. Se convertirán como _xHHHH_. HHHH representa el código UCS-2 hexadecimal de cuatro dígitos para el carácter.

Admite valores NULL. Devuelve NULL si el evento no proporciona información adicional.

file_name

varchar(260)

Ruta de acceso y nombre del archivo de registro de auditoría del que procede el registro. No admite valores NULL.

audit_file_offset

bigint

Desplazamiento de búfer del archivo que contiene el registro de auditoría. No admite valores NULL.

user_defined_event_id

smallint

Identificador del evento definido por el usuario pasado como argumento a sp_audit_write. NULL para los eventos del sistema (predeterminado) y distinto de cero para los eventos definidos por el usuario. Para obtener más información, vea sp_audit_write (Transact-SQL).

user_defined_information

nvarchar(4000)

Se utiliza para registrar la información adicional que el usuario desea grabar en el registro de auditoría mediante el procedimiento almacenado sp_audit_write.

Comentarios

Si el argumento file_pattern pasó a fn_get_audit_file referencias a una ruta de acceso o un archivo que no existe, o si el archivo no es un archivo de auditoría, se devuelve el mensaje de error MSG_INVALID_AUDIT_FILE.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

En este ejemplo se lee un archivo denominado \\serverName\Audit\HIPPA_AUDIT.sqlaudit.

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

Para obtener un ejemplo completo de cómo crear una auditoría, vea SQL Server Audit (motor de base de datos).

Vea también

Referencia

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.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)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)

Conceptos

Crear una auditoría de servidor y una especificación de auditoría de servidor