Události zaznamenané v audit logu si nemusíte prohlížet pouze pomocí nástrojů Management Studia. Všechny informace z auditních souborů lze načíst pomoci T-SQL. Vzhledem k tomu, že jde o citlivé údaje, je pro některé části celého skriptu potřeba pár oprávnění na serverové úrovni.

Použití funkce fn_get_audit_file vyžaduje oprávnění CONTROL SERVER. Tabulka server_file_audits vyžaduje oprávnění VIEW AUDIT STATE a pro tabulku dm_audit_class_type_map a dm_audit_actions stačí jen SELECT.

Pokud disponujete těmito právy, stačí už jen znát jméno auditu a doplnit jej do následujícího skriptu.

SQL:
DECLARE @filepattern VARCHAR(300)
DECLARE @folder VARCHAR(300)
DECLARE @auditguid VARCHAR(40)
SELECT @auditguid = audit_guid, @folder = log_file_path FROM sys.server_file_audits WHERE name = 'Jmeno-auditu'
SELECT @filepattern = @folder + '*_' + @auditguid + '*'

SELECT f.event_time, f.class_type, c.class_type_desc, f.action_id, a.name AS action_name, f.succeeded,
f.session_id, f.server_principal_name, f.database_principal_name, f.database_name, f.schema_name, f.object_id,
f.object_name
    FROM fn_get_audit_file(@filepattern, NULL, NULL) AS f
    JOIN sys.dm_audit_class_type_map c ON f.class_type = c.class_type
    JOIN sys.dm_audit_actions a ON f.action_id = a.action_id
    AND c.securable_class_desc = a.class_desc
    ORDER BY event_time DESC

Výčet sloupců není úplný, pokud budete potřebovat další informace, stačí doplnit odpovídající sloupec. Pokud často vypisujete záznamy z více auditů, můžete z výše uvedeného skriptu udělat snadno proceduru, které budete jako parametr předávat jméno auditu.

Je třeba mít na paměti, že auditní záznamy se načítají z několika souborů a v závislosti na nastavení auditu jich mohou být desítky (stovky) tisíc. Pokud chcete záznamy analyzovat i jinak než pouhým prohlížením, doporučuji si je pravidelně ukládat do databáze. Práce s nimi pak bude mnohokrát rychlejší.