CREATE SERVER AUDIT (Transact-SQL)

Cria um objeto de auditoria de servidor usando o SQL Server Audit. Para obter mais informações, consulte Compreendendo a auditoria do SQL Server.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

CREATE SERVER AUDIT audit_name

    TO { [ FILE (<file_options> [ , ...n ]) ] | APPLICATION_LOG | SECURITY_LOG }
    [ WITH ( <audit_options> [ , ...n ] ) ] 
}
[ ; ]
<file_options>::=
{
       FILEPATH = 'os_file_path'
    [ , MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED } ]
    [ , MAX_ROLLOVER_FILES = { integer | UNLIMITED } ]
    [ , RESERVE_DISK_SPACE = { ON | OFF } ] 
}
  
<audit_options>::=
{
    [  QUEUE_DELAY = integer ]
    [ , ON_FAILURE = { CONTINUE | SHUTDOWN } ]
    [ , AUDIT_GUID = uniqueidentifier ]
}

Argumentos

  • TO { FILE | APPLICATION_LOG | SECURITY }
    Determina o local do destino de auditoria. As opções são um arquivo binário, o log de aplicativos do Windows ou o log de segurança do Windows. O 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, consulte Como gravar eventos de auditoria do servidor no log de segurança.

    ObservaçãoObservação

    A gravação no log de segurança não está disponível no Windows XP.

  • FILEPATH = 'os_file_path'
    O caminho do log de auditoria. O nome de arquivo é gerado com base no nome de auditoria e no GUID de auditoria.

  • MAXSIZE = { max_size }
    Especifica o tamanho máximo até o qual o arquivo de auditoria pode aumentar. O valor max_size deve ser um inteiro seguido por MB, GB, TB ou UNLIMITED. O tamanho mínimo que você pode especificar para max_size é 2 MB e o máximo é 2.147.483.647 TB. Quando UNLIMITED é especificado, o arquivo aumenta até que o disco esteja cheio. A especificação de um valor inferior a 2 MB gera o erro MSG_MAXSIZE_TOO_SMALL. O valor padrão é UNLIMITED.

  • MAX_ROLLOVER_FILES = { integer | UNLIMITED }
    Especifica o número máximo de arquivos a serem retidos no sistema de arquivos além do arquivo atual. O valor MAX_ROLLOVER_FILES deve ser um inteiro ou UNLIMITED. O valor padrão é UNLIMITED. Este parâmetro é avaliado sempre que a auditoria reinicia (o que pode ocorrer quando a instância do Mecanismo de Banco de Dados reinicia ou quando a auditoria é desativada e, depois, reativada) ou quando um novo arquivo é necessário porque o valor máximo de MAXSIZE foi alcançado. QuandoMAX_ROLLOVER_FILES é avaliado, se o número de arquivos exceder a configuração de MAX_ROLLOVER_FILES, o arquivo mais antigo será excluído. Como resultado, quando a configuração de MAX_ROLLOVER_FILES for 0, um novo arquivo será criado toda vez que a configuração de MAX_ROLLOVER_FILES for avaliada. Somente um arquivo é excluído automaticamente quando a configuração de MAX_ROLLOVER_FILES é avaliada. Portanto, quando o valor de MAX_ROLLOVER_FILES for reduzido, o número de arquivos não diminuirá, a menos que os arquivos antigos tenham sido excluídos manualmente. O número máximo de arquivos que pode ser especificado é 2.147.483.647.

  • RESERVE_DISK_SPACE = { ON | OFF }
    Essa opção pré-aloca o arquivo no disco para o valor MAXSIZE. Isso só valerá se MAXSIZE não for igual a UNLIMITED. O valor padrão é OFF.

  • QUEUE_DELAY = integer
    Determina a hora, em milissegundos, que pode decorrer antes que o processamento das ações de auditoria seja forçado. Um valor 0 indica entrega síncrona. O valor mínimo de atraso de consulta configurável é 1000 (1 segundo), que é o padrão. O máximo é 2.147.483.647 (2.147.483,647 segundos ou 24 dias, 20 horas, 31 minutos, 23,647 segundos). A especificação de um número inválido gera o erro MSG_INVALID_QUEUE_DELAY.

  • ON_FAILURE = { CONTINUE | SHUTDOWN }
    Indica se a instância que grava no destino deverá continuar ou parar, se o destino não puder executar a gravação. O logon que emite isso deve ter a permissão SHUTDOWN. Se o logon não tiver essa permissão, a função falhará com uma mensagem MSG_NO_SHUTDOWN_PERMISSION. O valor padrão é CONTINUE.

  • AUDIT_GUID = uniqueidentifier
    Para oferecer suporte a cenários como espelhamento de banco de dados, uma auditoria precisa de um GUID que corresponda ao GUID encontrado no banco de dados espelhado. O GUID não pode ser modificado depois que a auditoria é criada.

Comentários

Quando uma auditoria de servidor é criada, ela permanece em um estado desabilitado.

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

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.

Quando você está salvando informações de auditoria em um arquivo, para ajudar a impedir falsificação, você pode restringir o acesso ao local do arquivo.

Exemplos

A. Criando uma auditoria de servidor com um arquivo de destino

O exemplo a seguir cria uma auditoria de servidor denominada HIPPA_Audit com um arquivo binário como o destino e nenhuma opção.

CREATE SERVER AUDIT HIPAA_Audit
    TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );

B. Criando uma auditoria de servidor com um destino de log de aplicativos do Windows com opções

O exemplo a seguir cria uma auditoria de servidor denominada HIPPA_Audit com o conjunto de destino para o log de aplicativos do Windows. A fila é gravado a cada segundo e desliga o mecanismo do SQL Server em caso de falha.

CREATE SERVER AUDIT HIPAA_Audit
    TO APPLICATION_LOG
    WITH ( QUEUE_DELAY = 1000,  ON_FAILURE = SHUTDOWN);

Consulte também

Referência

Conceitos