Partilhar via


Criar uma auditoria de servidor e uma especificação de auditoria de banco de dados

Este tópico descreve como criar uma auditoria de servidor e uma especificação de auditoria de banco de dados no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL.

A auditoria de uma instância do SQL Server ou de um banco de dados do SQL Server envolve o acompanhamento e o registro em log de eventos que ocorrem no sistema. O objeto auditoria do SQL Server coleta uma única instância de ações no nível do servidor ou do banco de dados e grupos de ações a serem monitoradas. A auditoria está no nível da instância do SQL Server. Você pode ter várias auditorias por instância do SQL Server. O objeto Database-Level Audit Specification pertence a uma auditoria. Você pode criar uma especificação de auditoria de banco de dados por banco de dados do SQL Server por auditoria. Para obter mais informações, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).

Nesse Tópico

  • Antes de começar:

    limitações e restrições

    Segurança

  • Para criar uma auditoria de servidor e uma especificação de auditoria de banco de dados usando:

    SQL Server Management Studio

    Transact-SQL

Antes de começar

Limitações e restrições

As especificações de auditoria de banco de dados são objetos não protegíveis que residem em um determinado banco de dados. Quando uma especificação de auditoria de banco de dados é criada, ela está em um estado desabilitado.

Quando você estiver criando ou modificando uma especificação de auditoria de banco de dados em um banco de dados de usuário, não inclua ações de auditoria em objetos de escopo de servidor, como as exibições do sistema. Se objetos com escopo de servidor forem incluídos, a auditoria será criada. No entanto, os objetos com escopo de servidor não serão incluídos e nenhum erro será retornado. Para auditar objetos de escopo de servidor, use uma especificação de auditoria de banco de dados no banco de dados mestre.

As especificações de auditoria de banco de dados residem no banco de dados em que são criadas, com exceção do banco de dados do tempdb sistema.

Segurança

Permissões

  • Os usuários com a permissão ALTER ANY DATABASE AUDIT podem criar especificações de auditoria de banco de dados e associá-los a qualquer auditoria.

  • Depois que uma especificação de auditoria de banco de dados é criada, ela pode ser exibida por entidades de segurança com as permissões CONTROL SERVER, ALTER ANY DATABASE AUDIT ou sysadmin.

Como usar o SQL Server Management Studio.

Para criar uma auditoria de servidor

  1. No Pesquisador de Objetos, expanda a pasta Segurança .

  2. Clique com o botão direito do mouse na pasta Auditorias e selecione Nova Auditoria.... Para obter mais informações, consulte Criar uma auditoria de servidor e uma especificação de auditoria de servidor.

  3. Quando terminar de selecionar as opções, clique em OK.

Para criar uma especificação de auditoria no nível do banco de dados

  1. No Pesquisador de Objetos, expanda o banco de dados no qual você deseja criar uma especificação de auditoria.

  2. Expanda a pasta Segurança .

  3. Clique com o botão direito do mouse na pasta Especificações de Auditoria de Banco de Dados e selecione Nova Especificação de Auditoria de Banco de Dados....

    As opções a seguir estão disponíveis na caixa de diálogo Criar Especificação de Auditoria de Banco de Dados .

    Nome
    O nome da especificação de auditoria do banco de dados. Isso é gerado automaticamente quando você cria uma nova especificação de auditoria de servidor, mas é editável.

    Auditoria
    O nome de uma auditoria de banco de dados existente. Digite o nome da auditoria ou selecione-o na lista.

    Tipo de ação de auditoria
    Especifica os grupos de ações de auditoria no nível do banco de dados e as ações de auditoria a serem capturadas. Para obter a lista de grupos de ações de auditoria no nível do banco de dados e ações de auditoria e uma descrição dos eventos que eles contêm, consulte Grupos e Ações de Ação de Auditoria do SQL Server.

    Esquema de objeto
    Exibe o esquema do Nome do Objeto especificado.

    nome do objeto
    O nome do objeto a ser auditar. Isso só está disponível para ações de auditoria; não se aplica a grupos de auditoria.

    Reticências (...)
    Abre a caixa de diálogo Selecionar Objetos para procurar e selecionar um objeto disponível, com base no tipo de ação de auditoria especificado.

    Nome do Principal
    A conta que deve ser usada como filtro na auditoria para o objeto que está sendo auditado.

    Reticências (...)
    Abre a caixa de diálogo Selecionar Objetos para procurar e selecionar um objeto disponível, com base no Nome do Objeto especificado.

  4. Quando terminar de selecionar a opção, clique em OK.

Usando Transact-SQL

Para criar uma auditoria de servidor

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_Security_Audit   
    WITH (STATE = ON) ;  
    

Para criar uma especificação de auditoria no nível do banco de dados

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. O exemplo cria uma especificação de auditoria de banco de dados chamada Audit_Pay_Tables que audita instruções SELECT e INSERT pelo dbo usuário, para a HumanResources.EmployeePayHistory tabela com base na auditoria do servidor definida acima.

    USE AdventureWorks2012 ;   
    GO  
    -- Create the database audit specification.   
    CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables  
    FOR SERVER AUDIT Payrole_Security_Audit  
    ADD (SELECT , INSERT  
         ON HumanResources.EmployeePayHistory BY dbo )   
    WITH (STATE = ON) ;   
    GO  
    
    

Para obter mais informações, consulte CREATE SERVER AUDIT (Transact-SQL) e CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).