Partilhar via


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

Aplica-se: 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.

Auditar uma instância do SQL Server ou um banco de dados do SQL Server envolve controlar e registrar em log os eventos que ocorrem no sistema. O objeto de Auditoria do SQL Server coleta uma instância única 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 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, confira 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 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 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. Mas os objetos com escopo de servidor não sã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 de banco de dados residem no banco de dados quando são criadas, com exceção do banco de dados do sistema tempdb.

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, entidades com as permissões CONTROL SERVER ou ALTER ANY DATABASE AUDIT podem exibi-la. A conta sysadmin também pode exibi-la.

Usar o SQL Server Management Studio

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, 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 no qual 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 do Banco de Dados e selecione Nova Especificação de Auditoria do Banco de Dados.

    Estas 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 de banco de dados. Um nome é gerado automaticamente quando você cria uma especificação de auditoria de 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ção de auditoria no nível de banco de dados e as ações de auditoria a capturar. Para obter uma lista dos 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, confira Ações e grupos de ações de auditoria do SQL Server.

    Esquema de Objeto

    Exibe o esquema para Object Nameespecificado.

    Object Name

    Nome do objeto a ser auditado. Esta opção está disponível somente para ações de auditoria. Ela não se aplica a grupos de auditoria.

    Reticências (...)

    Abre a caixa de diálogo Selecionar Objetos para que você possa 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 que você possa procurar e selecionar um objeto disponível, com base no Nome do Objeto especificado.

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

Usar o 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. Ela 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