ALTER SERVER AUDIT (Transact-SQL)
Altera um objeto de auditoria de servidor com o recurso SQL Server Audit. Para obter mais informações, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).
Convenções da sintaxe Transact-SQL
Sintaxe
ALTER SERVER AUDIT audit_name
{
[ TO { { FILE ( <file_options> [, ...n] ) } | APPLICATION_LOG | SECURITY_LOG } ]
[ WITH ( <audit_options> [ , ...n] ) ]
[ WHERE <predicate_expression> ]
}
| REMOVE WHERE
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
FILEPATH = 'os_file_path'
| MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }
| MAX_ROLLOVER_FILES = { integer | UNLIMITED }
| MAX_FILES = integer
| RESERVE_DISK_SPACE = { ON | OFF }
}
<audit_options>::=
{
QUEUE_DELAY = integer
| ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }
| STATE = = { ON | OFF }
}
<predicate_expression>::=
{
[NOT ] <predicate_factor>
[ { AND | OR } [NOT ] { <predicate_factor> } ]
[,...n ]
}
<predicate_factor>::=
event_field_name { = | < > | ! = | > | > = | < | < = } { number | ' string ' }
Argumentos
TO { FILE | APPLICATION_LOG | SECURITY }
Determina o local do destino da auditoria. As opções são um arquivo binário, o log de aplicativos do Windows ou o log de segurança do Windows.FILEPATH = 'os_file_path'
O caminho da trilha de auditoria. O nome do arquivo é gerado com base no nome da auditoria e no GUID da auditoria.MAXSIZE **=**max_size
Especifica o tamanho máximo até o qual o arquivo de auditoria pode crescer. 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. Ao configurar MAX_ROLLOVER_FILES=0 não há nenhum limite imposto sobre o número de arquivos de substituição a serem criados. O valor padrão é 0. O número máximo de arquivos que pode ser especificado é 2.147.483.647.MAX_FILES =integer
Especifica o número máximo de arquivos de auditoria que pode ser criado. Não substitui o primeiro arquivo quando o limite é atingido. Quando o limite de MAX_FILES é atingido, haverá falha com um erro em qualquer ação que provoque a geração de eventos.RESERVE_DISK_SPACE = { ON | OFF }
Essa opção pré-aloca o arquivo no disco para o valor MAXSIZE. Só será aplicável 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 | FAIL_OPERATION}
Indica se a instância que grava no destino deverá falhar, continuar ou parar se o SQL Server não puder gravar no log de auditoria.CONTINUE
As operações do SQL Server continuam. Os registros de auditoria não são retidos. A auditoria retomará tentando registrar eventos em log e será retomada se a condição de falha for resolvida. A seleção da opção para continuar pode permitir atividade não auditada, o que pode violar suas políticas de segurança. Use essa opção, quando continuar a operação do Mecanismo de Banco de Dados é mais importante do que manter uma auditoria completa.SHUTDOWN
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. Use a opção quando uma falha de auditoria puder comprometer a segurança ou a integridade do sistema.FAIL_OPERATION
Haverá falha nas ações do banco de dados se elas provocarem eventos auditados. As ações que não provocam eventos auditados podem continuar, mas não pode ocorrer nenhum evento auditado. A auditoria retomará tentando registrar eventos em log e será retomada se a condição de falha for resolvida. Use essa opção, quando manter uma auditoria completa for mais importante do que o acesso total ao Mecanismo de Banco de Dados.
STATE = { ON | OFF }
Permite ou não que a auditoria colete registros. A alteração do estado de uma auditoria em execução (de ON para OFF) cria uma entrada de auditoria indicando que a auditoria foi interrompida, a entidade que interrompeu a auditoria e a hora da interrupção.MODIFY NAME = new_audit_name
Altera o nome da auditoria. Não pode ser usado com nenhuma outra opção.predicate_expression
Especifica a expressão de predicado usada para determinar se um evento deve ser processado ou não. As expressões de predicado são limitadas a 3.000 caracteres, o que limita os argumentos de cadeia de caracteres.event_field_name
É o nome do campo de evento que identifica a origem do predicado. Os campos de auditoria são descritos em sys.fn_get_audit_file (Transact-SQL). Todos os campos podem ser auditados menos file_name e audit_file_offset.number
É qualquer tipo numérico, inclusive decimal. Limitações são a falta de memória física disponível ou um número que é muito grande para ser representado como um inteiro de 64 bits.' string '
Uma cadeia de caracteres ANSI ou Unicode, conforme requerido pela comparação de predicado. Nenhuma conversão de tipo de cadeia de caracteres implícita é executada para as funções de comparação de predicado. A transferência do tipo incorreto resulta em um erro.
Comentários
Você deve especificar pelo menos uma das cláusulas TO, WITH ou MODIFY NAME ao chamar ALTER AUDIT.
Você deve definir o estado de uma auditoria para a opção OFF para fazer alterações em uma auditoria. Se ALTER AUDIT for executada quando uma auditoria estiver habilitada com qualquer opção diferente de STATE=OFF, você receberá uma mensagem de erro MSG_NEED_AUDIT_DISABLED.
Você pode adicionar, alterar e remover especificações de auditoria sem parar uma auditoria.
Não é possível alterar o GUID de uma auditoria após a criação da auditoria.
Permissões
Para criar, alterar ou descartar uma entidade de auditoria de servidor, você deve ter a permissão ALTER ANY SERVER AUDIT ou CONTROL SERVER.
Exemplos
A.Alterando o nome de uma auditoria de servidor
O exemplo a seguir altera o nome da auditoria de servidor HIPPA_Audit para HIPAA_Audit_Old.
USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO
B.Alterando o destino de uma auditoria de servidor
O exemplo a seguir altera a auditoria de servidor denominada HIPPA_Audit para um destino de arquivo.
USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE=OFF)
WITH (QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO
C.Alterando uma cláusula WHERE de auditoria de servidor
O exemplo a seguir modifica a cláusula WHERE criada no exemplo de CREATE SERVER AUDIT (Transact-SQL). A nova cláusula WHERE filtra o evento definido pelo usuário se de 27.
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WHERE user_defined_event_id = 27;
GO
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);
GO
D.Removendo uma cláusula WHERE
O exemplo a seguir remove uma expressão de predicado de cláusula WHERE.
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
REMOVE WHERE;
GO
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);
GO
E.Renomeando uma auditoria de servidor
O exemplo a seguir altera o nome da auditoria de servidor de FilterForSensitiveData para AuditDataAccess.
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
MODIFY NAME = AuditDataAccess;
GO
ALTER SERVER AUDIT [AuditDataAccess] WITH (STATE = ON);
GO
Consulte também
Referência
DROP SERVER AUDIT (Transact-SQL)
CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sys.fn_get_audit_file (Transact-SQL)
sys.server_audits (Transact-SQL)
sys.server_file_audits (Transact-SQL)
sys.server_audit_specifications (Transact-SQL)
sys.server_audit_specification_details (Transact-SQL)
sys.database_ audit_specifications (Transact-SQL)
sys.database_audit_specification_details (Transact-SQL)
sys.dm_server_audit_status (Transact-SQL)
sys.dm_audit_actions (Transact-SQL)
Conceitos
Criar uma auditoria de servidor e uma especificação de auditoria de servidor