Já mostramos em nosso blog como criar uma auditoria nativa no Microsoft SQL Server (https://agilidata.com.br/2021/04/19/sql-server-audit/). Agora iremos mostrar como é possível consultar as informações que foram capturadas pela auditoria.
Existem duas formas de consultar os dados de uma auditoria. A primeira que vamos mostrar, está disponível no SQL Server Management Studio (SSMS), através de interface gráfica.
Ao clicar na opção “View Audit Logs” uma nova janela será aberta, exibindo o log da nossa auditoria:
Em nosso exemplo, temos alguns eventos registrados. Gostaria de chamar atenção para o primeiro deles, que informa quando a auditoria foi iniciada. Importante observar também a coluna “Succeeded” – como um dos eventos que capturamos em nossa auditoria são de comandos SELECT, a auditoria também irá registrar caso algum usuário tente realizar SELECT em uma tabela que não tenha permissão:
Mais detalhes podem ser observados na área cinza logo abaixo.
É importante observar que os valores em “Event Time” são registrados com a data/hora no UTC – horário universal.
A segunda é através da função sys.fn_get_audit_file. Quando precisamos emitir relatórios da nossa auditoria, esta forma é mais prática e eficiente. Para utilizá-la é importante saber onde os arquivos da auditoria estão sendo armazenados – no nosso exemplo, estão sendo armazenados no diretório “E:\Temp”, portanto podemos utilizar a seguinte consulta:
SELECT event_time,host_name,server_principal_name,action_id,statement, succeeded
FROM sys.fn_get_audit_file('E:\Temp\*.sqlaudit',default,default)
Obtemos o seguinte resultado:
Através desta função temos acesso a todas as informações que são exibidas via interface gráfica e podemos tratar os dados de acordo com nossa necessidade, produzindo artefatos importantes.
Como sua execução é uma operação onerosa, pois realiza leitura de um arquivo no sistema operacional, dependendo do tratamento que seja necessário realizarmos para a confecção do relatório, pode ser vantajoso armazenar o seu conteúdo em uma tabela temporária.
Ficou com alguma dúvida de como implantar e consultar auditorias no Microsoft SQL Server? Entre em contato conosco ou deixe um comentário.
Links úteis: