sys.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 Auditoria do SQL Server (Mecanismo de Banco de Dados).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

fn_get_audit_file ( file_pattern, 
    { default | initial_file_name | NULL }, 
    { default | audit_record_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. O tipo é nvarchar(260). 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} - coletar todos os arquivos de auditoria que tenham o par de nome e GUID especificado.

    • <caminho>\LoginsAudit_{GUID}_00_29384.sqlaudit - Coleta um arquivo de auditoria específico.

    ObservaçãoObservaçã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. O tipo é nvarchar(260).

    ObservaçãoObservação

    O argumento initial_file_name deve conter entradas válidas ou o valor padrão ou NULL.

  • audit_record_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çãoObservação

    O argumento audit_record_offset deve conter entradas válidas ou o valor padrão ou NULL. O tipo é bitint.

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 sequê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

varchar(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

varbinary(16)

Em algumas ações, são as permissões que foram concedidas, negadas ou revogadas.

is_column_permission

bit

1 = true

0 = false

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

smallint

O ID da sessão na qual ocorreu o evento. Não permite valor nulo.

server_principal_id

int

ID do contexto de logon em que a ação é executada. Não permite valor nulo.

database_principal_id

int

ID do contexto do usuário de banco de dados no qual a ação é executada. Não permite valor nulo. 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:

  • Objetos do servidor

  • Bancos de dados

  • Objetos de banco de dados

  • Objetos de esquema

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

varchar(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

sysname

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:

  • Objetos do servidor

  • Bancos de dados

  • Objetos de banco de dados

  • Objetos de esquema

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.

Um nível de pilha TSQL será exibido em formato XML para ações que tenham pilha TSQL associada a elas. O formato XML será:

<tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>

O nest_level do quadro indica o nível de aninhamento atual do quadro. O nome do Módulo é representado em formato de três partes (database_name, schema_name e object_name). O nome do módulo será analisado para escape de caracteres xml inválidos, como '<', '>', '/', '_x'. O escape será feito como _xHHHH_. O HHHH representa o código UCS-2 hexadecimal de quatro dígitos do caractere

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.

user_defined_event_id

smallint

ID de evento definido pelo usuário passado como um argumento a sp_audit_write. NULL para eventos do sistema (padrão) e diferente de zero para evento definido pelo usuário. Para obter mais informações, consulte sp_audit_write (Transact-SQL).

user_defined_information

nvarchar(4000)

Usado para registrar quaisquer informações adicionais que o usuário deseje registrar no log de auditoria por meio do procedimento armazenado sp_audit_write.

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 Auditoria do SQL Server (Mecanismo de Banco de Dados).

Consulte também

Referência

CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

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

sys.dm_audit_class_type_map (Transact-SQL)

Conceitos

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