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