Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Servidor SQLBanco de Dados
SQL do AzureInstância
Gerenciada 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, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).
Observação
Para o Banco de Dados SQL do Azure, considere usar sys.fn_get_audit_file_v2 em vez disso.
sys.fn_get_audit_file_v2
Introduz filtragem baseada no tempo nos níveis de arquivo e registro, proporcionando melhorias significativas de desempenho, especialmente para consultas direcionadas a intervalos de tempo específicos.
Transact-SQL convenções de sintaxe
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 do arquivo para o conjunto de arquivos de auditoria a ser lido. O 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 que possa incluir um 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 específico no conjunto de arquivos de auditoria a partir dos quais começar a ler os registros de auditoria. O 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
ou NULL
valor. O 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 | Tipo | Descrição |
---|---|---|
event_time |
datetime2 | Data e hora UTC em que a ação auditável é acionada. Não anulável. |
sequence_number |
Int | Rastreia a sequência de registros em um único registro de auditoria que era muito grande para caber no buffer de gravação para auditorias. Não anulável. |
action_id |
Varchar(4) | ID da ação. Não anulável. |
succeeded |
bit | Indica se a ação que disparou o evento foi bem-sucedida. Não anulável. Para todos os eventos que não sejam eventos de login, isso informa apenas se a verificação de permissão foi bem-sucedida ou falhou, não a operação.1 = sucesso0 = reprovado |
permission_bitmask |
Varbinário(16) | Em algumas ações, essa máscara de bits são as permissões que foram concedidas, negadas ou revogadas. |
is_column_permission |
bit | Indicador que indica se esta é uma permissão ao nível da coluna. Não anulável. Retorna 0 quando o permission_bitmask = 0 arquivo .1 = verdadeiro0 = falso |
session_id |
Smallint | ID da sessão em que o evento ocorreu. Não anulável. |
server_principal_id |
Int | ID do contexto de login no qual a ação é executada. Não anulável. |
database_principal_id |
Int | ID do contexto de usuário do banco de dados no qual a ação é executada. Não anulável. Devolve 0 se isto não se aplicar. Por exemplo, uma operação de servidor. |
target_server_principal_id |
Int | Entidade de servidor na qual a GRANT /DENY /REVOKE operação é executada. Não anulável. Devoluções 0 se não for aplicável. |
target_database_principal_id |
Int | A entidade de banco de dados na qual a GRANT /DENY /REVOKE operação é executada. Não anulável. Devoluções 0 se não for aplicável. |
object_id |
Int | A ID da entidade na qual a auditoria ocorreu, que inclui os seguintes objetos: - Objetos do servidor - Bases de dados - Objetos de banco de dados - Objetos de esquema Não anulável. 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. |
class_type |
Varchar(2) | O tipo de entidade auditável em que a auditoria ocorre. Não anulável. |
session_server_principal_name |
sysname | Principal do servidor para sessão. Anulável Retorna a identidade do logon original que foi conectado à instância do Mecanismo de Banco de Dados caso houvesse opções de contexto explícitas ou implícitas. |
server_principal_name |
sysname | Login atual. Anulável |
server_principal_sid |
Varbinary | Identificador de segurança de login (SID) atual. Anulável |
database_principal_name |
sysname | Usuário atual. Anulável Devoluções NULL se não estiverem disponíveis. |
target_server_principal_name |
sysname | Login alvo da ação. Anulável Devoluções NULL se não for aplicável. |
target_server_principal_sid |
Varbinary | SID do login de destino. Anulável Devoluções NULL se não for aplicável. |
target_database_principal_name |
sysname | Usuário alvo da ação. Anulável Devoluções NULL se não for aplicável. |
server_instance_name |
sysname | Nome da instância do servidor onde ocorreu a auditoria. É utilizado o formato padrão server\instance . |
database_name |
sysname | O contexto do banco de dados no qual a ação ocorreu. Anulável Retorna NULL para auditorias que ocorrem no nível do servidor. |
schema_name |
sysname | O contexto do esquema no qual a ação ocorreu. Anulável Devoluções NULL para auditorias que ocorrem fora de um esquema. |
object_name |
sysname | O nome da entidade na qual a auditoria ocorreu, que inclui os seguintes objetos: - Objetos do servidor - Bases de dados - 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. |
statement |
Nvarchar(4000) | Transact-SQL declaração, se existir. Anulável Devoluções NULL se não for aplicável. |
additional_information |
Nvarchar(4000) | Informações exclusivas que se aplicam apenas a um único 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 em formato XML para ações que têm a 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 escaparam como _xHHHH_ . O HHHH significa 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. |
file_name |
Varchar(260) | O caminho e o nome do arquivo de log de auditoria do qual o registro veio. Não anulável. |
audit_file_offset |
bigint | O deslocamento do buffer no arquivo que contém o registro de auditoria. Não anulável. Aplica-se a: Somente SQL Server |
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.Aplica-se a: SQL Server 2012 (11.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada 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 SQL |
audit_schema_version |
Int | Sempre 1 . |
sequence_group_id |
Varbinary | Identificador único. Aplica-se ao: SQL Server 2016 (13.x) e versões posteriores |
transaction_id |
bigint | Identificador exclusivo para identificar vários eventos de auditoria em uma transação. Aplica-se ao: SQL Server 2016 (13.x) e versões posteriores |
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 |
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 |
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 SQL |
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 SQL |
affected_rows |
bigint | Número de linhas afetadas pela instrução executada. Aplica-se a: Somente Banco de Dados SQL do Azure |
connection_id |
identificador único | ID da conexão no servidor. Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada SQL |
data_sensitivity_information |
Nvarchar(4000) | Tipos de informação e rótulos de sensibilidade 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 |
host_name |
Nvarchar(128) | Nome do host da máquina cliente. |
session_context |
Nvarchar(4000) | Os pares chave-valor que fazem parte do contexto de sessão atual. |
client_tls_version |
bigint | Versão mínima de TLS suportada pelo cliente. |
client_tls_version_name |
Nvarchar(128) | Versão mínima de TLS suportada pelo cliente. |
database_transaction_id |
bigint | ID da transação atual na sessão atual. |
ledger_start_sequence_number |
bigint | O número de sequência de uma operação dentro de uma transação que criou uma versão de linha. Aplica-se a: Somente Banco de Dados SQL do Azure |
external_policy_permissions_checked |
Nvarchar(4000) | As informações relacionadas à verificação de permissão de autorização externa, quando um evento de auditoria é gerado, e as políticas de autorização externa do Purview são avaliadas. Aplica-se a: Somente Banco de Dados SQL do Azure |
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 em nome de (OBO). Anulável Retorna NULL se a solicitação não for feita usando o acesso OBO.Aplica-se a: Somente Banco de Dados SQL do Azure |
is_local_secondary_replica |
bit |
True Se o registro de auditoria for originado de uma réplica secundária local somente leitura, False caso contrário.Aplica-se a: Somente Banco de Dados SQL do Azure |
Observações
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
O SQL Server 2019 (15.x) e versões anteriores exigem permissão de CONTROL SERVER
no servidor.
O SQL Server 2022 (16.x) e versões posteriores exigem VIEW SERVER SECURITY AUDIT
permissão no servidor.
Exemplos
Este exemplo lê a partir 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 sobre como criar uma auditoria, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).
Limitações
A seleção de linhas a partir de um CTAS (Create Table As Select) ou sys.fn_get_audit_file
é uma limitação ao ser executada INSERT INTO
no Azure Synapse Analytics. Embora a consulta seja concluída com êxito e nenhuma mensagem de erro apareça, não há linhas presentes na tabela criada usando CTAS ou INSERT INTO
.
Mais informações
Visualizações do catálogo do sistema:
- 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)
Transact-SQL:
- CRIAR AUDITORIA DE SERVIDOR (Transact-SQL)
- AUDITORIA DO ALTER SERVER (Transact-SQL)
- AUDITORIA DO DROP SERVER (Transact-SQL)
- CRIAR ESPECIFICAÇÃO DE AUDITORIA DE SERVIDOR (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- CRIAR ESPECIFICAÇÃO DE AUDITORIA DE BANCO DE DADOS (Transact-SQL)
- ALTERAR ESPECIFICAÇÃO DE AUDITORIA DE BANCO DE DADOS (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTERAR AUTORIZAÇÃO (Transact-SQL)