fn_get_audit_file (Transact-SQL)
Retorna informações de um arquivo de auditoria criado por uma auditoria de servidor. Para obter mais informações, consulte Compreendendo a auditoria do SQL Server.
Sintaxe
fn_get_audit_file ( file_pattern, {default | initial_file_name | NULL }, {default | audit_file_offset | NULL } )
Argumentos
file_pattern
Especifica o diretório ou caminho e o nome de arquivo do conjunto de arquivos de auditoria que será lido. Esse argumento deve incluir um caminho (letra de unidade ou compartilhamento de rede) e um nome de arquivo, podendo conter um caractere curinga. Um único asterisco (*) pode ser usado para coletar vários arquivos a partir de um conjunto de arquivos de auditoria. Por exemplo:<caminho>\* - Coleta todos os arquivos de auditoria no local especificado.
<caminho>\LoginsAudit_{GUID} - Coleta todos os arquivos de auditoria com o nome especificado e par de GUID.
<caminho>\LoginsAudit_{GUID}_00_29384.sqlaudit - Coleta um arquivo de auditoria específico.
Observação Indicar um caminho sem um padrão de nome de arquivo irá gerar um erro.
initial_file_name
Especifica o caminho e o nome de um arquivo especificado no conjunto de arquivos de auditoria a partir do qual iniciar a leitura dos registros de auditoria.Observação O argumento initial_file_name deve conter entradas válidas ou o valor padrão ou NULL.
audit_file_offset
Especifica um local conhecido com o arquivo especificado para o initial_file_name. Quando esse argumento for usado, a função começará a leitura a partir do primeiro registro do buffer imediatamente após o deslocamento especificado.Observação O argumento audit_file_offset deve conter entradas válidas ou o valor padrão ou NULL.
Tabelas retornadas
A tabela a seguir descreve o conteúdo do arquivo de auditoria que pode ser retornado por essa função.
Nome da coluna |
Tipo |
Descrição |
---|---|---|
event_time |
datetime2 |
Data e hora em que a ação auditável é acionada. Não permite valor nulo. |
sequence_number |
int |
Rastreia a seqüência de registros dentro de um único registro de auditoria que é muito grande para ser inserido no buffer de gravação das auditorias. Não permite valor nulo. |
action_id |
char(4) |
A identificação da ação. Não permite valor nulo. |
succeeded |
bit 1 = Êxito 0 = Falha |
Indica se a ação que acionou o evento foi realizada com êxito Não permite valor nulo. Para todos os demais eventos que não são eventos de logon, reporta somente se a verificação de permissões foi bem-sucedida ou não, e não a operação. |
permission_bitmask |
bigint |
Em algumas ações, são as permissões que foram concedidas, negadas ou revogadas. |
is_column_permission |
bit 1 = verdadeiro 0 = falso |
Sinalizador que indica se esta é uma permissão no nível de coluna. Não permite valor nulo. Retorna 0 quando permission_bitmask = 0. |
session_id |
int |
Identificação da sessão em que ocorreu o evento. Não permite valor nulo. |
server_principal_id |
int |
ID do contexto de logon no qual a ação é executada. Não é anulável. |
database_principal_id |
int |
ID do contexto de usuário de banco de dados no qual a ação é executada. Não é anulável. Retornará 0 se isso não se aplicar. Por exemplo, uma operação de servidor. |
target_server_principal_id |
int |
Diretor de Servidor que o GRANT/operação do DENY/REVOKE é executada em. Não permite valor nulo. Retorna 0 se não aplicável. |
target_database_principal_id |
int |
O banco de dados principal no qual a operação GRANT/DENY/REVOKE é executada. Não permite valor nulo. Retorna 0 se não aplicável. |
object_id |
int |
A ID da entidade na qual a auditoria ocorreu. Isso inclui o seguinte:
Não permite valor nulo. Retornará 0 se a entidade for o próprio Servidor ou se a auditoria não for realizada no nível de um objeto. Por exemplo, Autenticação. |
class_type |
char(2) |
O tipo de entidade auditável no qual a auditoria ocorre. Não permite valor nulo. |
session_server_principal_name |
sysname |
Entidade do servidor da sessão. Permite valor nulo. |
server_principal_name |
sysname |
Logon atual. Permite valor nulo. |
server_principal_sid |
varbinary |
SID do logon atual. Permite valor nulo. |
database_principal_name |
sysname |
Usuário atual. Permite valor nulo. Retorna NULL se não disponível. |
target_server_principal_name |
sysname |
Logon de destino da ação. Permite valor nulo. Retorna NULL se não aplicável. |
target_server_principal_sid |
varbinary |
SID do logon de destino. Permite valor nulo. Retorna NULL se não aplicável. |
target_database_principal_name |
sysname |
Usuário de destino da ação. Permite valor nulo. Retorna NULL se não aplicável. |
server_instance_name |
nvarchar(120) |
Nome da instância de servidor no qual a auditoria ocorreu. O formato servidor\instância padrão é usado. |
database_name |
sysname |
O contexto do banco de dados no qual a ação aconteceu. Permite valor nulo. Retorna NULL para auditorias realizadas no nível de servidor. |
schema_name |
sysname |
O contexto do esquema no qual a ação aconteceu. Permite valor nulo. Retorna NULL para auditorias realizadas fora de um esquema. |
object_name |
sysname |
O nome da entidade na qual a auditoria ocorreu. Isso inclui o seguinte:
Permite valor nulo. Retornará NULL se a entidade for o próprio Servidor ou se a auditoria não for realizada no nível de um objeto. Por exemplo, Autenticação. |
statement |
nvarchar(4000) |
Instrução TSQL, se existir. Permite valor nulo. Retorna NULL se não aplicável. |
additional_information |
nvarchar(4000) |
Informações exclusivas que se aplicam somente a um evento são retornadas como XML. Um número pequeno de ações auditável contém esse tipo de informação. Permite valor nulo. Retornará NULL quando o evento não reportar informações adicionais. |
file_name |
varchar(260) |
O caminho e nome do arquivo de log de auditoria que deu origem ao registro. Não permite valor nulo. |
audit_file_offset |
bigint |
O deslocamento de buffer no arquivo que contém o registro de auditoria. Não permite valor nulo. |
Comentários
Se o argumento file_pattern passou para referências de fn_get_audit_file um caminho ou arquivo que não existe, ou se o arquivo não for de auditoria, a mensagem de erro MSG_INVALID_AUDIT_FILE será retornada.
Permissões
Requer a permissão CONTROL SERVER.
Exemplos
Este exemplo lê de um arquivo chamado \\serverName\Audit\HIPPA_AUDIT.sqlaudit.
SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO
Para obter um exemplo completo de como criar uma auditoria, consulte Compreendendo a auditoria do SQL Server.
Consulte também