Um pedido muito requisitado por clientes nas instâncias que administramos é ter uma auditoria do que é realizado nos databases, principalmente se tratando de alterações de dados ou estrutura. A auditoria dos Databases é uma tarefa importante por vários motivos.
- Ela ajuda a guiar a empresa na tomada de decisões apontando áreas que podem ser melhoradas;
- Auxilia no diagnóstico de problemas;
- Garante rastreabilidade para os processos;
- Necessário para requisitos de Compliance.
O bom da ferramenta é que temos nela a opção de auditá-la nativamente, sem necessariamente precisar de uma ferramenta de terceiros, e, dentro do SQL Server existem várias formas de fazermos o Audit. A mais recomendada é usar a própria funcionalidade de Auditoria do SQL Server. É possível também realizá-la via Extended Events ou até Triggers.
Através do Audit nativo podemos auditar a instância a nível de servidor e database tendo menor impacto impossível. Via database está disponível apenas após o SQL Server 2016.
O Audit a nível de servidor tem como finalidade auditar atividades mais genéricas como Logins, criação de databases, alteração de parâmetros a nível de servidor e muitos outros. Já o Audit a nível de banco de dados foca nas ações realizadas em um Database específico. Algumas ações envolvem Update, Insert, Select e muitas outras.
Documentação da Microsoft sobre o assunto: https://learn.microsoft.com/pt-br/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver16