Partilhar via


Registros de auditoria do SQL Server

Aplica-se a: SQL Server

O recurso de auditoria do SQL Server permite auditar grupos de eventos e eventos no nível do servidor e do banco de dados. Para obter mais informações, confira 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 destinode 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 Type 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

Dica: para usar action_id como um predicado, ele deve ser convertido de uma cadeia de caracteres para um valor numérico. Para obter mais informações, veja Filter SQL Server Audit on action_id / class_type predicate(Filtrar a Auditoria do SQL Server no predicado action_id / class_type).
varchar(4) Sim
succeeded Indica se a verificação de permissão da ação que aciona o evento de auditoria teve êxito ou falhou. 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 = False
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. Essa ID pode ser:

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. Esse nome pode ser:

objetos do servidor

bancos de dados

objetos de banco de dados

objetos de esquema

Instrução Transact-SQL (se houver alguma)
sysname Não
instrução 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.

O SQL Server armazena 4 mil 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.

  • O 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.

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)