La auditoría en SQL Server permite rastrear y registrar los eventos que ocurren en una instancia o una base de datos individual. Los eventos auditados pueden ser enviados a los logs de eventos o a archivos de auditoría.
A continuación, te muestro 2 maneras en las que puedes leer estos archivos que, por lo general, llevan una extensión .sqlaudit:
1. Función fn_get_audit_file: Podemos obtener información del archivo ejecutando el siguiente script en una ventana de query y pasando la ubicación y nombre del archivo como parámetro:
SELECT event_time, action_id, session_server_principal_name, server_instance_name,
database_name, object_name, statement
FROM fn_get_audit_file('D:\Audit\Nombrearchivo.sqlaudit', default, default)
Si queremos ir un poco mas allá y tener mas flexibilidad en la lectura, podemos guardar los resultados en una tabla, la cual podemos utilizar para hacer consultas:
SELECT event_time, action_id, session_server_principal_name, server_instance_name,
database_name, object_name, statement
INTO NombreTabla
FROM fn_get_audit_file('D:\Audit\Nombrearchivo', default, default)
Por ejemplo, una vez creada la tabla, podemos ejecutar lo siguiente para encontrar cuando se realizo un restore:
SELECT AF.event_time,DMAC.name,AF.session_server_principal_name,AF.server_instance_name,
AF.database_name, AF.object_name, AF.statement
FROM Table_Name AF
INNER JOIN sys.dm_audit_actions DMAC ON DMAC.action_id = AF.action_id
WHERE STATEMENT LIKE '%RESTORE%'
2. Log File Viewer: En el Explorador de Objetos (Object Explorer), expandimos Seguridad (Security), luego clic derecho en el objeto de auditoria que queremos ver y la opción Ver Registros de Auditoria (View Audit Logs). En el Log File Viewer, veremos los registros al lado derecho. Independientemente de si los registros son escritos en un archivo o en el Windows Event Log, el Log File Viewer nos los mostrará.
Y LISTO!!
Si tienes alguna duda, comentario o sugerencia, puedes mandarme un email a bitácoradeundba@gmail.com.