Partilhar via


Registros de auditoria do SQL Server

O recurso Auditoria do SQL Server permite examinar grupos de eventos e eventos individuais no nível do servidor e no nível do banco de dados. Para obter mais informações, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados). SQL Server.

Auditorias consistem em zero ou mais itens de ação de auditoria registrados em um destino de auditoria. O destino de auditoria pode ser um arquivo binário, o log de eventos de Aplicativo do Windows ou o log de eventos de Segurança do Windows. Os registros enviados ao destino podem conter os elementos descritos na tabela a seguir.

Nome da coluna

Descrição

Tipo

Sempre disponível

event_time

Data/hora em que a ação auditável é acionada.

datetime2

Sim

sequence_no

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.

int

Sim

action_id

ID da ação

DicaDica

Para usar action_id como um predicado, ele deve ser convertido de uma cadeia de caracteres em um valor numérico. Para obter mais informações, consulte Filter SQL Server Audit on action_id / class_type predicate.

varchar(4)

Sim

succeeded

Indica se a ação que acionou o evento foi realizada com êxito

bit – 1 = Êxito, 0 = Falha

Sim

permission_bitmask

Quando aplicável, mostra as permissões concedidas, negadas ou revogadas

bigint

Não

is_column_permission

Sinalizador que indica uma permissão no nível da coluna

bit – 1 = Verdadeiro, 0 = Falso

Não

session_id

Identificação da sessão em que ocorreu o evento.

int

Sim

server_principal_id

ID do contexto de logon em que a ação é executada.

int

Sim

database_principal_id

ID do contexto do usuário de banco de dados no qual a ação é executada.

int

Não

object_id

ID primária da entidade na qual a auditoria ocorreu. Isso inclui:

  • objetos do servidor

  • bancos de dados

  • objetos de banco de dados

  • objetos de esquema

int

Não

target_server_principal_id

Entidade de servidor a qual se aplica a ação auditável.

int

Sim

target_database_principal_id

Entidade de banco de dados a qual se aplica a ação auditável.

int

Não

class_type

Tipo de entidade auditável no qual ocorre a auditoria.

varchar(2)

Sim

session_server_principal_name

Entidade do servidor da sessão.

sysname

Sim

server_principal_name

Logon atual.

sysname

Sim

server_principal_sid

SID do logon atual.

varbinary

Sim

database_principal_name

Usuário atual.

sysname

Não

target_server_principal_name

Logon de destino da ação.

sysname

Não

target_server_principal_sid

SID do logon de destino.

varbinary

Não

target_database_principal_name

Usuário de destino da ação.

sysname

Não

server_instance_name

Nome da instância de servidor no qual a auditoria ocorreu. Usa o formato máquina\instância padrão.

nvarchar(120)

Sim

database_name

O contexto do banco de dados no qual a ação aconteceu.

sysname

Não

schema_name

O contexto do esquema no qual a ação aconteceu.

sysname

Não

object_name

O nome da entidade na qual a auditoria ocorreu. Isso inclui:

  • objetos do servidor

  • bancos de dados

  • objetos de bancos de dados

  • objetos de esquema

  • instrução TSQL (se houver)

sysname

Não

statement

instrução TSQL (se houver)

nvarchar(4000)

Não

additional_information

Qualquer informação adicional sobre o evento, armazenado em XML.

nvarchar(4000)

Não

Comentários

Algumas ações não populam o valor de uma coluna porque pode não ser aplicável à ação.

A Auditoria do SQL Server armazena 4000 caracteres de dados para campos de caractere em um registro de auditoria. Quando os valores additional_information e statement obtidos de uma ação auditável retornam mais de 4000 caracteres, a coluna sequence_no é usada para gravar vários registros no relatório de auditoria para uma única ação de auditoria gravar esses dados. O processo é o seguinte:

  • A coluna statement é dividida em 4000 caracteres.

  • A Auditoria do SQL Server grava a primeira linha do registro de auditoria com os dados parciais. Todos os outros campos são duplicados em cada linha.

  • O valor sequence_no é incrementado.

  • Este processo é repetido até que todos os dados sejam registrados.

É possível conectar os dados lendo as linhas na sequência usando o valor sequence_no e as colunas event_Time, action_id e session_id para identificar a ação.

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

sys.dm_audit_class_type_map (Transact-SQL)