Estou em uma situação desagradável em que tenho a necessidade de auditar todas as consultas executadas pelos usuários via SSMS, SQLCMD etc. em um banco de dados SQL Server 2005.
A situação é agravada pela incapacidade de atualizar a versão do SQL Server, alterar as permissões do servidor etc.
No momento, estou auditando logons de usuários em contas privilegiadas (pergunta anterior: Audit 'sa' login in SQL Server 2005 ).
Estou preocupado porque agora tenho um requisito para auditar quais consultas estão sendo executadas e precisarei configurar rastreamentos do lado do servidor em uma tabela, o que apresentará um custo de desempenho mais alto.
Procurei no Google algumas recomendações, mas não consigo encontrar nada além de 'executar rastreamentos / perfiladores do lado do servidor'.
Que outras opções (se houver) eu tenho aqui? Terei que morder a bala e configurar rastreamentos do lado do servidor altamente filtrados para capturar esses dados?
Infelizmente, não há nenhum Change Data Capture, Change Tracking (ambos provenientes apenas do SQL 2008 +) ou mesmo eventos de rastreamento ou grupos de eventos de rastreamento suficientes para uso com notificações de eventos .
Você está preso com rastreamentos do lado do servidor para salvar todas as consultas do usuário.
O recurso SQL Server Audit fornece mais detalhes sobre a instância do SQL Server e os eventos do banco de dados do que os recursos Change Tracking e Change Data Capture - eles não rastreiam consultas executadas. O recurso fornece informações sobre quem, o quê e quando e permite a filtragem granular dos eventos auditados. Ele também rastreia a execução da instrução SELECT. Três tipos diferentes de arquivos de saída estão disponíveis, todos armazenados no local central para facilitar o gerenciamento
As ações no nível do banco de dados fornecem filtragem mais granular do que as ações no nível do servidor. Você pode encontrar a lista completa de todos os grupos e eventos de ação de auditoria em nível de banco de dados no MSDN - SQL Server Audit Action Groups and Actions
Para obter dicas e descrições adicionais, você pode verificar a série de artigos online Métodos para auditoria de alterações de dados do SQL Server