Criando e gerenciando auditorias com o Transact-SQL

Usando o Management Studio ou Transact-SQL para executar instruções DDL (Data Definition Language), exibições e funções de gerenciamento dinâmico ou exibições do catálogo Transact-SQL, é possível criar soluções simples ou complexas de auditoria do SQL Server para seu ambiente do SQL Server.

Tópicos de referência

É possível usar instruções DDL, exibições e funções de gerenciamento dinâmico e exibições do catálogo para implementar todos os aspectos de auditoria do SQL Server.

Permissões

Cada recurso e comando de auditoria do SQL Server tem requisitos de permissão individuais.

Para criar, alterar ou descartar uma Auditoria de Servidor ou uma Especificação de Auditoria de Servidor, as entidades de segurança exigem a permissão ALTER ANY SERVER AUDIT ou a permissão CONTROL SERVER. Para criar, alterar ou descartar uma Especificação de Auditoria de Banco de Dados, as entidades de segurança de banco de dados exigem a permissão DATABASE AUDIT ou ALTER ou CONTROL no banco de dados. Além disso, as entidades de segurança devem ter permissão para se conectar ao banco de dados ou à permissão ALTER ANY SERVER AUDIT ou CONTROL SERVER.

Salvo quando especificado de outro modo, a visualização de exibições do catálogo exige que uma entidade de segurança tenha um dos seguintes itens:

  • Associação na função de servidor fixa sysadmin.

  • A permissão CONTROL SERVER.

  • A permissão VIEW SERVER STATE.

  • A permissão ALTER ANY AUDIT.

  • A permissão VIEW AUDIT STATE (fornece somente acesso à entidade de segurança à exibição do catálogo sys.server_audits).

Uma entidade de segurança deve ter a permissão VIEW SERVER STATE ou ALTER ANY AUDIT para usar as Exibições de Gerenciamento Dinâmico.

Para obter mais informações sobre como conceder direitos e permissões, consulte GRANT (Transact-SQL).

Observação sobre cuidadosCuidado

Entidades na função sysadmin podem violar qualquer componente de auditoria e aqueles na função db_owner podem violar quaisquer especificações em um banco de dados. A auditoria do SQL Server valida esse logon que cria ou altera uma especificação de auditoria que tenha pelo menos a permissão ALTER ANY DATABASE AUDIT. No entanto, ela não faz nenhuma validação quando você anexa um banco de dados. Você deve considerar que todas as Especificações de Auditoria de Banco de Dados são seguras somente para as entidades nas funções sysadmin ou db_owner.

Instruções de linguagem de definição de dados

Exibições e funções dinâmicas

A tabela a seguir lista as exibições e funções dinâmicas que podem ser usadas na auditoria do SQL Server.

Exibições e funções dinâmicas

Descrição

sys.dm_audit_actions

Retorna uma linha para cada ação de auditoria que pode ser relatada no log de auditorias e para cada grupo de ações de auditoria que pode ser configurado como parte da Auditoria do SQL Server.

sys.dm_server_audit_status

Fornece informações sobre o estado atual da auditoria.

sys.dm_audit_class_type_map

Retorna uma tabela que mapeia o campo class_type no log de auditorias para o campo class_desc em sys.dm_audit_actions.

fn_get_audit_file

Retorna informações de um arquivo de auditoria criado por uma auditoria de servidor.

A tabela a seguir lista as exibições do catálogo que podem ser usadas para auditoria do SQL Server.

Exibições do catálogo

Descrição

sys.database_ audit_specifications

Contém informações sobre as especificações de auditoria do banco de dados em uma auditoria do SQL Server em uma instância do servidor.

sys.database_audit_specification_details

Contém informações sobre as especificações de auditoria de banco de dados em uma auditoria do SQL Server em uma instância do servidor para todos os bancos de dados.

sys.server_audits

Contém uma linha para cada auditoria do SQL Server em uma instância do servidor.

sys.server_audit_specifications

Contém informações sobre as especificações de auditoria do servidor em uma auditoria do SQL Server em uma instância do servidor.

sys.server_audit_specifications_details

Contém informações sobre os detalhes (ações) de especificação de auditoria do servidor em uma auditoria do SQL Server em uma instância do servidor.

sys.server_file_audits

Contém informações estendidas de armazenamentos sobre o tipo de auditoria de arquivo em uma auditoria do SQL Server, em uma instância do servidor.