SQL Server AUDIT – Parte 2

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:

https://docs.microsoft.com/pt-br/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver15

https://docs.microsoft.com/pt-br/sql/relational-databases/system-functions/sys-fn-get-audit-file-transact-sql?view=sql-server-ver15

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *