sys.fn_get_audit_file (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics
Retorna informações de um arquivo de auditoria criado por uma auditoria de servidor no SQL Server. Para obter mais informações, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).
Convenções de sintaxe de 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. Tipo é nvarchar(260).
Passar um caminho sem um padrão de nome de arquivo gera um erro.
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 de um conjunto de arquivos de auditoria. Por exemplo:
\<path>\*
- Coletar todos os arquivos de auditoria no local especificado.<path>\LoginsAudit_{GUID}*
- Colete todos os arquivos de auditoria que têm o nome especificado e o par GUID.<path>\LoginsAudit_{GUID}_00_29384.sqlaudit
- Coletar um arquivo de auditoria específico.
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. Tipo é nvarchar(260).
O argumento initial_file_name deve conter entradas válidas ou deve conter o default
valor ou NULL
.
audit_record_offset
Especifica um local conhecido com o arquivo especificado para o initial_file_name. Quando esse argumento é usado, a função começa a ler no primeiro registro do buffer imediatamente após o deslocamento especificado.
O argumento audit_record_offset deve conter entradas válidas ou deve conter o default
valor ou NULL
. Tipo é bigint.
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 | Type | Descrição |
---|---|---|
action_id |
varchar(4) | A identificação da ação. Não permite valor nulo. |
additional_information |
nvarchar(4000) | Informações exclusivas que se aplicam somente a um evento são retornadas como XML. Algumas ações auditáveis contêm esse tipo de informação. Um nível de pilha T-SQL é exibido no formato XML para ações que têm pilha T-SQL associada a elas. O formato XML é: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack> frame nest_level 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 é analisado para escapar de caracteres XML inválidos como < , > , / , _x . Eles são escapados como _xHHHH\_ . O HHHH representa o código UCS-2 hexadecimal de quatro dígitos para o caractere. Anulável. Retorna NULL quando não há informações adicionais relatadas pelo evento. |
affected_rows |
bigint | Número de linhas afetadas pela instrução executada. Aplica-se a: Somente Banco de Dados SQL do Azure |
application_name |
nvarchar(128) | Nome do aplicativo cliente que executou a instrução que causou o evento de auditoria. Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure |
audit_file_offset |
bigint | O deslocamento de buffer no arquivo que contém o registro de auditoria. Não permite valor nulo. Aplica-se a: Somente SQL Server |
audit_schema_version |
int | Sempre 1 . |
class_type |
varchar(2) | O tipo de entidade auditável no qual a auditoria ocorre. Não permite valor nulo. |
client_ip |
nvarchar(128) | IP de origem do aplicativo cliente. Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure |
connection_id |
uniqueidentifier | ID da conexão no servidor. Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada do SQL |
data_sensitivity_information |
nvarchar(4000) | Tipos de informações e rótulos de confidencialidade retornados pela consulta auditada, com base nas colunas classificadas no banco de dados. Saiba mais sobre a descoberta e classificação de dados do Banco de Dados SQL do Azure. Aplica-se a: Somente Banco de Dados SQL do Azure |
database_name |
sysname | O contexto do banco de dados no qual a ação aconteceu. Anulável. Retorna NULL para auditorias que ocorrem no nível do servidor. |
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. Retorna 0 se isso não se aplicar. Por exemplo, uma operação de servidor. |
database_principal_name |
sysname | Usuário atual. Anulável. Devoluções NULL se não estiverem disponíveis. |
duration_milliseconds |
bigint | Duração da execução da consulta em milissegundos. Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada do SQL |
event_time |
datetime2 | Data e hora em que a ação auditável é acionada. Não permite valor nulo. |
file_name |
varchar(260) | O caminho e nome do arquivo de log de auditoria que deu origem ao registro. Não permite valor nulo. |
is_column_permission |
bit | Sinalizador que indica se esta é uma permissão no nível de coluna. Não permite valor nulo. Retorna 0 quando o permission_bitmask = 0 arquivo .1 = verdadeiro0 = falso |
object_id |
int | A ID da entidade na qual a auditoria ocorreu, que inclui os seguintes objetos: - Objetos do servidor -Bancos - Objetos de banco de dados - Objetos de esquema Não permite valor nulo. Retorna 0 se a entidade for o próprio Servidor ou se a auditoria não for executada em um nível de objeto. Por exemplo, Autenticação. |
object_name |
sysname | O nome da entidade na qual a auditoria ocorreu, que inclui os seguintes objetos: - Objetos do servidor -Bancos - Objetos de banco de dados - Objetos de esquema Anulável. Retorna NULL se a entidade for o próprio Servidor ou se a auditoria não for executada em um nível de objeto. Por exemplo, Autenticação. |
obo_middle_tier_app_id |
Varchar(120) | A ID do aplicativo de camada intermediária que se conecta ao Banco de Dados SQL do Azure usando o acesso OBO. Anulável. Retorna NULL se a solicitação não for feita usando o acesso OBO.Aplica-se a: Banco de Dados SQL do Azure |
permission_bitmask |
varbinary(16) | Em algumas ações, essa máscara de bits são as permissões que foram concedidas, negadas ou revogadas. |
response_rows |
bigint | Número de linhas retornadas no conjunto de resultados. Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada do SQL |
schema_name |
sysname | O contexto do esquema no qual a ação aconteceu. Anulável. Retorna NULL para auditorias que ocorrem fora de um esquema. |
sequence_group_id |
varbinary | Identificador exclusivo da . Aplica-se a: SQL Server 2016 (13.x) e versões posteriores |
sequence_number |
int | Rastreia a sequência de registros dentro de um único registro de auditoria que é muito grande para se ajustar no buffer de gravação das auditorias. Não permite valor nulo. |
server_instance_name |
sysname | Nome da instância de servidor no qual a auditoria ocorreu. O formato servidor\instância padrão é usado. |
server_principal_id |
int | ID do contexto de logon em que a ação é executada. Não permite valor nulo. |
server_principal_name |
sysname | Logon atual. Anulável. |
server_principal_sid |
varbinary | SID do logon atual. Anulável. |
session_id |
smallint | Identificação da sessão em que ocorreu o evento. Não permite valor nulo. |
session_server_principal_name |
sysname | Servidor principal para sessão. Anulável. Retorna a identidade do logon original que foi conectado à instância do SQL Server caso houvesse opções de contexto explícitas ou implícitas. |
statement |
nvarchar(4000) | Instrução Transact-SQL, se existir. Anulável. Devoluções NULL se não aplicável. |
succeeded |
bit | Indica se a ação que disparou 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.1 = sucesso0 = falha |
target_database_principal_id |
int | A entidade de banco de dados na qual a GRANT //DENY REVOKE operação é executada. Não permite valor nulo. Devoluções 0 se não aplicável. |
target_database_principal_name |
sysname | Usuário de destino da ação. Anulável. Devoluções NULL se não aplicável. |
target_server_principal_id |
int | Entidade de segurança do servidor na qual a GRANT //DENY REVOKE operação é executada. Não permite valor nulo. Devoluções 0 se não aplicável. |
target_server_principal_name |
sysname | Logon de destino da ação. Anulável. Devoluções NULL se não aplicável. |
target_server_principal_sid |
varbinary | SID do logon de destino. Anulável. Devoluções NULL se não aplicável. |
transaction_id |
bigint | Identificador exclusivo para identificar vários eventos de auditoria em uma transação. Aplica-se a: SQL Server 2016 (13.x) e versões posteriores |
user_defined_event_id |
smallint | ID de evento definido pelo usuário passado como um argumento para 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).Aplica-se a: SQL Server 2012 (11.x) e posterior, Banco de Dados SQL do Azure e Instância Gerenciada do SQL |
user_defined_information |
nvarchar(4000) | Usado para registrar qualquer informação extra que o usuário deseja registrar no log de auditoria usando o sp_audit_write procedimento armazenado.Aplica-se a: SQL Server 2012 (11.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada do SQL |
Comentários
Se o argumento file_pattern passado para fazer referência a
fn_get_audit_file
um caminho ou arquivo que não existe, ou se o arquivo não for um arquivo de auditoria, aMSG_INVALID_AUDIT_FILE
mensagem de erro será retornada.fn_get_audit_file
não pode ser usado quando a auditoria é criada com asAPPLICATION_LOG
opções ,SECURITY_LOG
ouEXTERNAL_MONITOR
.
Permissões
Requer a permissão CONTROL SERVER
.
Exemplos
Este exemplo lê de um arquivo chamado \\serverName\Audit\HIPAA_AUDIT.sqlaudit
.
SELECT *
FROM sys.fn_get_audit_file(
'\\serverName\Audit\HIPAA_AUDIT.sqlaudit',
DEFAULT,
DEFAULT
);
GO
Para obter um exemplo completo de como criar uma auditoria, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).
Limitações
Selecionar linhas de dentro de sys.fn_get_audit_file
um Criar Tabela como Selecionar (CTAS) ou INSERT INTO
é uma limitação ao executar no Azure Synapse Analytics. Embora a consulta seja concluída com êxito e nenhuma mensagem de erro seja exibida, não há linhas presentes na tabela criada usando CTAS ou INSERT INTO
.
Conteúdo relacionado
- 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_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)
- Criar uma auditoria de servidor e uma especificação de auditoria de servidor
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.server_audit_specifications (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de