Partilhar via


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

Aplica-se a:SQL Server

Este artigo descreve como criar uma auditoria de servidor e uma especificação de auditoria de banco de dados no SQL Server 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 controle e o registro em log de eventos que ocorrem no sistema. O objeto SQL Server Audit 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, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).

Limitaçõ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 desativado.

Ao criar ou modificar 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 você incluir objetos com escopo de servidor, a auditoria será criada. Mas os objetos com escopo de servidor não estão incluídos e nenhum erro é retornado. Para auditar objetos com escopo de servidor, use uma especificação de auditoria de banco de dados no banco de dados master.

As especificações de auditoria do banco de dados residem no banco de dados onde foram criadas, exceto para o banco de dados do sistema tempdb.

Permissões

  • Os usuários que têm a permissão ALTER ANY DATABASE AUDIT podem criar especificações de auditoria de banco de dados e vinculá-las a qualquer auditoria.

  • Após a criação de uma especificação de auditoria de base de dados, os utilizadores que têm permissões de CONTROL SERVER ou ALTER ANY DATABASE AUDIT podem visualizá-la. A conta sysadmin também pode visualizá-la.

Usar o SQL Server Management Studio

Criar uma auditoria de servidor

  1. No Pesquisador de Objetos, expanda a pasta Security.

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

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

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 a 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.

    Essas opções 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. Um nome é gerado automaticamente quando você cria uma especificação de auditoria do servidor. O nome é editável.

    Auditoria

    O nome de um objeto de auditoria de servidor 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 de banco de dados e as ações de auditoria a serem capturadas. Para obter uma lista de grupos de ações de auditoria no nível de banco de dados e ações de auditoria e descrições dos eventos que eles contêm, consulte SQL Server Audit Action Groups and Actions.

    Esquema de objeto

    Exibe o esquema do Nome do Objeto especificado .

    Nome do objeto

    O nome do objeto a ser auditado. Esta opção está disponível apenas para ações de auditoria. Não se aplica a grupos de auditoria.

    Elipse (...)

    Abre a caixa de diálogo Selecionar Objetos para que seja possível procurar e selecionar um objeto disponível, com base no Tipo de Ação de Auditoria especificado .

    Nome principal

    A conta pela qual filtrar a auditoria para o objeto a ser auditado.

    Elipse (...)

    Abre a caixa de diálogo Selecionar Objetos para que você possa procurar e selecionar um objeto disponível, com base no de Nome do Objetoespecificado.

  4. Quando terminar de selecionar as opções, selecione OK.

Utilize Transact-SQL

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, selecione Nova Consulta.

  3. Cole o exemplo a seguir na janela de consulta e selecione Executar.

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

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, selecione Nova Consulta.

  3. Cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo cria uma especificação de auditoria de banco de dados chamada Audit_Pay_Tables. Ele audita as instruções SELECT e INSERT pelo usuário dbo para a tabela HumanResources.EmployeePayHistory, com base na auditoria do servidor definida na seção anterior.

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