Criar uma especificação de auditoria de banco de dados e de servidorCreate a Server Audit and Database Audit Specification

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Este tópico descreve como criar uma especificação de auditoria de servidor e de banco de dados no SQL ServerSQL Server usando o SQL Server Management StudioSQL Server Management Studio ou o Transact-SQLTransact-SQL.This topic describes how to create a server audit and database audit specification in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Auditar uma instância do SQL ServerSQL Server ou um banco de dados do SQL ServerSQL Server envolve eventos de rastreamento e de log que ocorrem no sistema.Auditing an instance of SQL ServerSQL Server or a SQL ServerSQL Server database involves tracking and logging events that occur on the system. O objeto SQL Server Audit 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.The SQL Server Audit object collects a single instance of server- or database-level actions and groups of actions to monitor. A auditoria está no nível de instância do SQL ServerSQL Server .The audit is at the SQL ServerSQL Server instance level. Você pode ter várias auditorias por instância do SQL ServerSQL Server .You can have multiple audits per SQL ServerSQL Server instance. O objeto Especificação de Auditoria de Banco de Dados pertence a uma auditoria.The Database-Level Audit Specification object belongs to an audit. É possível criar uma especificação da auditoria de banco de dados por banco de dados do SQL Server por auditoria.You can create one database audit specification per SQL Server database per audit. Para obter mais informações, veja Auditoria do SQL Server (Mecanismo de Banco de Dados).For more information, see SQL Server Audit (Database Engine).

Neste tópicoIn This Topic

Antes de começarBefore You Begin

Limitações e restriçõesLimitations and Restrictions

As especificações de auditoria de banco de dados são objetos não protegidos que residem em um determinado banco de dados.Database audit specifications are non-securable objects that reside in a given database. Quando uma especificação de auditoria de banco de dados é criada, ela fica em um estado desabilitado.When a database audit specification is created, it is in a disabled state.

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.When you are creating or modifying a database audit specification in a user database, do not include audit actions on server-scope objects, such as the system views. Se forem incluídos objetos de escopo do servidor, a auditoria será criada.If server-scoped objects are included, the audit will be created. No entanto, os objetos de escopo do servidor não serão incluídos e nenhum erro será retornado.However, the server-scoped objects will not be included, and no error will be returned. Para auditar objetos de escopo do servidor, use uma especificação de auditoria de banco de dados no banco de dados mestre.To audit server-scope objects, use a database audit specification in the master database.

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 .Database audit specifications reside in the database where they are created, with the exception of the tempdb system database.

SegurançaSecurity

PermissõesPermissions

  • 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.Users with the ALTER ANY DATABASE AUDIT permission can create database audit specifications and bind them to any audit.

  • Depois que uma especificação de auditoria de banco de dados é criada, ela pode ser exibida por entidades que tenham a permissão CONTROL SERVER, ALTER ANY DATABASE AUDIT ou com a conta sysadmin.After a database audit specification is created, it can be viewed by principals with the CONTROL SERVER, ALTER ANY DATABASE AUDIT permissions, or the sysadmin account.

Usando o SQL Server Management StudioUsing SQL Server Management Studio

Para criar uma auditoria de servidorTo create a server audit

  1. No Pesquisador de Objetos, expanda a pasta Segurança .In Object Explorer, expand the Security folder.

  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.Right-click the Audits folder and select New Audit.... For more information, see Create a Server Audit and Server Audit Specification.

  3. Quando terminar de selecionar as opções, clique em OK.When you are finished selecting options, click OK.

Para criar uma especificação de auditoria no nível de banco de dadosTo create a database-level audit specification

  1. No Pesquisador de Objetos, expanda o banco de dados onde você deseja criar uma especificação de auditoria.In Object Explorer, expand the database where you want to create an audit specification.

  2. Expanda a pasta Segurança .Expand the Security folder.

  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... .Right-click the Database Audit Specifications folder and select New Database Audit Specification....

    As opções a seguir estão disponíveis na caixa de diálogo Criar Especificação de Auditoria de Banco de Dados .The following options are available on the Create Database Audit Specification dialog box.

    NomeName
    O nome da especificação de auditoria de banco de dados.The name of the database audit specification. Esse nome é gerado automaticamente quando você cria uma nova especificação de auditoria de servidor, mas é editável.This is generated automatically when you create a new server audit specification but is editable.

    AuditoriaAudit
    O nome de um objeto de auditoria de servidor existente.The name of an existing server audit object. Digite o nome da auditoria ou selecione-o na lista.Either type in the name of the audit or select it from the list.

    Tipo de Ação de AuditoriaAudit Action Type
    Especifica os grupos de ação de auditoria no nível de banco de dados e as ações de auditoria a capturar.Specifies the database-level audit action groups and audit actions to capture. Para obter 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, veja Ações e grupos de ações de auditoria do SQL Server.For the list of database-level audit action groups and audit actions and a description of the events they contain, see SQL Server Audit Action Groups and Actions.

    Esquema de ObjetoObject Schema
    Exibe o esquema para Object Nameespecificado.Displays the schema for the specified Object Name.

    Object NameObject Name
    Nome do objeto a ser auditado.The name of the object to audit. Isso só está disponível para ações de auditoria e não se aplica a grupos de auditoria.This is only available for audit actions; it does not apply to audit groups.

    Reticências (...)Ellipsis (...)
    Abre a caixa de diálogo Selecionar Objetos para procurar e selecionar um objeto disponível, com base no Tipo de Ação de Auditoriaespecificado.Opens the Select Objects dialog to browse for and select an available object, based on the specified Audit Action Type.

    Nome PrincipalPrincipal Name
    A conta para filtrar a auditoria para o objeto que está sendo auditado.The account to filter the audit by for the object being audited.

    Reticências (...)Ellipsis (...)
    Abre a caixa de diálogo Selecionar Objetos para procurar e selecionar um objeto disponível, com base no Nome do Objetoespecificado.Opens the Select Objects dialog to browse for and select an available object, based on the specified Object Name.

  4. Quando terminar de selecionar as opções, clique em OK.When you are finished selecting option, click OK.

Usando o Transact-SQLUsing Transact-SQL

Para criar uma auditoria de servidorTo create a server audit

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de DadosDatabase Engine.In Object Explorer, connect to an instance of Mecanismo de Banco de DadosDatabase Engine.

  2. Na barra Padrão, clique em Nova Consulta.On the Standard bar, click New Query.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.Copy and paste the following example into the query window and click Execute.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL13.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 dadosTo create a database-level audit specification

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de DadosDatabase Engine.In Object Explorer, connect to an instance of Mecanismo de Banco de DadosDatabase Engine.

  2. Na barra Padrão, clique em Nova Consulta.On the Standard bar, click New Query.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.Copy and paste the following example into the query window and click Execute. 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.The example creates a database audit specification called Audit_Pay_Tables that audits SELECT and INSERT statements by the dbo user, for the HumanResources.EmployeePayHistory table based on the server audit defined above.

    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, veja CREATE SERVER AUDIT (Transact-SQL) e CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).