Registros de auditoria do SQL Server
Aplica-se: 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.
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)