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

Aplica-se:SQL Server

Este tópico descreve como criar uma auditoria de servidor e especificação de auditoria do servidor 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 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. 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 da Auditoria do Servidor pertence a uma auditoria. É possível criar uma especificação de auditoria de servidor por auditoria, já que ambas são criadas no escopo da instância do SQL Server. Para obter mais informações, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).

Neste tópico

Antes de começar

Limitações e Restrições

  • Deve existir uma auditoria antes da criação de uma especificação de auditoria de servidor para ela. Quando uma especificação de auditoria de servidor é criada, ela fica em um estado desabilitado.

  • A CREATE SERVER AUDIT instrução está no escopo de uma transação. Se a transação for revertida, a instrução também será revertida.

Segurança

Permissões

  • Para criar, alterar ou descartar uma auditoria de servidor, as entidades devem ter a permissão ALTER ANY SERVER AUDIT ou CONTROL SERVER.

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

  • Depois que uma especificação de auditoria de servidor for criada, ela poderá ser exibida por entidades que tenham as permissões CONTROL SERVER ou ALTER ANY SERVER AUDIT, a conta sysadmin, ou entidades com acesso explícito à auditoria.

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

    As opções a seguir estão disponíveis na página Geral da caixa de diálogo Criar Auditoria :

    Nome da auditoria
    O nome da auditoria. Isso é gerado automaticamente quando você cria uma nova auditoria, mas pode ser editado.

    Atraso de fila (em milissegundos)
    Especifica o período máximo, em milissegundos, que pode decorrer antes de as ações de auditorias serem forçadas a serem processadas. Um valor 0 indica entrega síncrona. O valor padrão mínimo é 1000 (1 segundo). O máximo é 2.147.483.647 (2.147.483.647 segundos ou 24 dias, 20 horas, 31 minutos, 23.647 segundos).

    Em caso de falha no log de auditoria:
    Continuar
    As operações do SQL Server continuam. Os registros de auditoria não são retidos. A auditoria continuará tentando registrar eventos e será retomada se a condição de falha for resolvida. A seleção da opção Continuar pode permitir atividade não auditada, o que pode violar suas políticas de segurança. Escolha essa opção quando continuar a operação do mecanismo de banco de dados for mais importante do que manter uma auditoria completa. Essa é a seleção padrão.

    Desligar servidor
    Força o desligamento de um servidor quando a instância do servidor que grava no destino não puder gravar dados no destino de auditoria. O logon que emite isso deve ter a permissão SHUTDOWN . Se o logon não tiver essa permissão, essa função apresentará falha e será exibida uma mensagem de erro. Não ocorre nenhum evento auditado. Selecione essa opção quando uma falha de auditoria puder comprometer a segurança ou a integridade do sistema.

    Operação com falha
    Nos casos em que o SQL Server Audit não consegue gravar no log de auditoria, essa opção faz com que as ações no banco de dados falhem caso, de outra forma, resultassem em eventos auditados. Não ocorre nenhum evento auditado. As ações que não provocam eventos auditados podem continuar. A auditoria continuará tentando registrar eventos e será retomada se a condição de falha for resolvida. Escolha essa opção quando manter uma auditoria completa for mais importante do que o acesso completo ao mecanismo de banco de dados.

    Importante

    Quando a auditoria estiver em estado de falha, a Conexão de Administrador Dedicada poderá continuar executando eventos auditados.

    Lista de destino de auditoria
    Especifica o destino dos dados de auditoria. As opções disponíveis são um arquivo binário, o log de aplicativos do Windows ou o log de segurança do Windows. SQL Server não poderá gravar no log de segurança do Windows se não forem definidas configurações adicionais no Windows. Para obter mais informações, veja Gravar eventos de auditoria do SQL Server no log de segurança.

    Caminho do arquivo
    Especifica a localização da pasta em que os dados de auditoria serão gravados quando o Destino da auditoria for um arquivo.

    Reticências (...)
    Abre a caixa de diálogo Localizar pasta -server_name para especificar um caminho do arquivo ou criar uma pasta na qual o arquivo de auditoria é gravado.

    Audite o limite máximo de arquivo:
    Máximo de arquivos de substituição
    Especifica que, quando o número máximo de arquivos de auditoria é atingido, os arquivos de auditoria mais antigos são substituídos por novo conteúdo de arquivo.

    Máximo de arquivos
    Especifica que, quando o número máximo de arquivos de auditoria for atingido, haverá falha com um erro em qualquer ação que provoque a geração de eventos de auditoria adicionais.

    Caixa de seleção ilimitada
    Quando a caixa de seleção Ilimitado em Número máximo de arquivos rotacionados estiver marcada, não haverá limite para a quantidade de arquivos de auditoria que serão criados. A caixa de seleção Ilimitado fica selecionada por padrão e se aplica às opções Máximo de arquivos de rotação e Máximo de arquivos.

    caixa Número de arquivos
    Especifica o número de arquivos de auditoria a serem criados, até 2.147.483.647. Essa opção estará disponível somente se Ilimitado estiver desmarcado.

    Tamanho máximo de arquivo
    Especifica o tamanho máximo para um arquivo de auditoria em megabytes (MB), gigabytes (GB) ou terabytes (TB). Você pode especificar um número até 2.147.483.647 TB. Marcar a caixa de seleção Ilimitado não estabelece um limite para o tamanho do arquivo. A caixa de seleção Ilimitada fica marcada por padrão.

    Caixa de seleçãoReservar espaço em disco
    Especifica o espaço pré-alocado no disco que é igual ao tamanho de arquivo máximo especificado. Essa configuração pode ser usada se a caixa de seleção Ilimitada sob Tamanho máximo do arquivo não for marcada. Essa caixa de seleção não é marcada por padrão.

  3. Opcionalmente, na página Filtro, insira um predicado ou a cláusula WHERE na auditoria do servidor para especificar opções adicionais não disponíveis na página Geral. Inclua o predicado em parênteses; por exemplo: (object_name = 'EmployeesTable').

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

Para criar uma especificação de auditoria de servidor

  1. No Pesquisador de Objetos, clique no sinal de mais para expandir a pasta Segurança .

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

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

    Nome
    O nome da especificação de auditoria do servidor. Isso é gerado automaticamente quando você cria uma nova especificação de auditoria de servidor, mas pode ser editado.

    Auditoria
    O nome de uma 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 servidor e as ações de auditoria a capturar. Para a lista de grupos de ação de auditoria no nível de servidor, 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.

    Esquema de Objeto
    Exibe o esquema para Object Nameespecificado.

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

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

  3. Quando terminar, clique em OK.

Usando o 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.

    -- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='E:\SQLAudit\' );  
    

Observação

Embora você possa usar um caminho UNC como destino do arquivo de auditoria, tome cuidado. Se houver latência de rede para esse compartilhamento de arquivos, poderá haver degradação no desempenho do SQL Server, pois as threads ficariam aguardando a conclusão de uma gravação de auditoria antes de prosseguir. Você pode observar várias mensagens de erro no log de erros do SQL Server, como 17894:

2020-02-07 12:21:35.100 O Trabalhador 0x00000058E7300000 do Server Dispatcher (0x7954) do pool de dispatcher "XE Engine main dispatcher pool" parece não estar rendendo no Nó 0.

Para criar uma especificação de 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.

    /*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification  
    FOR SERVER AUDIT HIPAA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

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