Compartilhar via


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

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

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

Neste tópico

  • Antes de começar:

    Limitações e restrições

    Segurança

  • Para criar uma especificação de auditoria de servidor e 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 protegidos que residem em um determinado banco de dados. Quando uma especificação de auditoria de banco de dados é criada, ela fica 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 do escopo de servidor, como as exibições do sistema. Se forem incluídos objetos de escopo do servidor, a auditoria será criada. No entanto, os objetos de escopo do servidor não serão incluídos e nenhum erro será retornado. Para auditar objetos de escopo do 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 onde são criadas, com exceção do banco de dados de sistema tempdb.

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á-las a qualquer auditoria.

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

Ícone de seta usado com o link Voltar ao Início[Top]

Usando 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 de banco de dados

  1. No Pesquisador de Objetos, expanda o banco de dados onde 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 do 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 de banco de dados. Esse nome é 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ção de auditoria no nível de banco de dados e as ações de auditoria a capturar. Para a lista de grupos de ação de auditoria no nível de banco de dados, ações de auditoria e uma descrição dos eventos que eles contêm, consulte Ações e grupos de ações de auditoria do SQL Server.

    • Esquema de Objeto
      Exibe o esquema para o Nome do Objeto especificado.

    • Nome do Objeto
      Nome do objeto a ser auditado. Isso só está disponível para ações de auditoria e 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 Principal
      A conta para filtrar a 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 as opções, clique em OK.

Ícone de seta usado com o link Voltar ao Início[Top]

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\MSSQL11.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 de 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 a seguir cria uma especificação de auditoria de banco de dados denominada Audit_Pay_Tables que audita instruções SELECT e INSERT pelo usuário dbo, para a tabela HumanResources.EmployeePayHistory baseada na auditoria de 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).

Ícone de seta usado com o link Voltar ao Início[Top]