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 Compreendendo a auditoria do SQL Server. 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 seqüência de registros dentro de um único registro de auditoria que é muito grande para ser inserido no buffer de gravação das auditorias. |
int |
Sim |
action_id |
ID da ação |
char(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 |
ID 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:
|
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. |
char(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 em que ocorreu a auditoria. Usa o formato máquina\instância padrão. |
nvarchar(120) |
Sim |
database_name |
O contexto do banco de dados no qual ocorreu a ação. |
sysname |
Não |
schema_name |
O contexto do esquema no qual ocorreu a ação. |
sysname |
Não |
object_name |
O nome da entidade na qual ocorreu a auditoria. Isso inclui:
|
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 seqüência usando o valor sequence_no e as colunas event_Time, action_id e session_id para identificar a ação.
Consulte também