Condividi tramite


Record di SQL Server Audit

La funzionalità controllo SQL Server consente di controllare gruppi di eventi ed eventi a livello di server e di database. Per altre informazioni, vedere SQL Server Audit (motore di database). SQL Server.

I controlli sono costituiti da zero o più attività di controllo, che vengono registrate in una destinazionedel controllo. La destinazione del controllo può essere un file binario, il registro eventi applicazioni di Windows o il registro eventi di sicurezza di Windows. I record inviati alla destinazione possono contenere gli elementi descritti nella tabella seguente.

Nome colonna Descrizione Type Sempre disponibile
event_time Data e ora di generazione dell'azione controllabile. datetime2
sequence_no Viene tenuta traccia della sequenza dei record all'interno di un singolo record di controllo con dimensioni troppo elevate per il buffer di scrittura dei controlli. int
action_id ID dell'azione.

Suggerimento: Per usare action_id come predicato, è necessario convertirlo da stringa di caratteri in valore numerico. Per altre informazioni, vedere Filter SQL Server Audit on action_id / class_type predicate(Filtro di SQL Server Audit con il predicato action_id / class_type).
varchar(4)
succeeded Indica se l'azione che ha generato l'evento ha avuto esito positivo bit - 1 = Operazione riuscita, 0 = Esito negativo
permission_bitmask Se applicabile, visualizza le autorizzazioni concesse, negate o revocate. bigint No
is_column_permission Flag indicante un'autorizzazione a livello di colonna. bit - 1 = True, 0 = False No
session_id ID della sessione in cui si è verificato l'evento. int
server_principal_id ID del contesto dell'account di accesso utilizzato per eseguire l'azione. int
database_principal_id ID del contesto dell'utente del database in cui viene eseguita l'azione. int No
ID object_ ID primario dell'entità in cui si è verificato il controllo. ad esempio:

oggetti server

database

oggetti di database

oggetti dello schema
int No
target_server_principal_id Entità server cui si applica l'azione controllabile. int
target_database_principal_id Entità di database cui si applica l'azione controllabile. int No
class_type Tipo di entità controllabile in cui si verifica il controllo. varchar(2)
session_server_principal_name Entità server per la sessione. sysname
server_principal_name Account di accesso corrente. sysname
server_principal_sid SID dell'account di accesso corrente. varbinary
database_principal_name Utente corrente. sysname No
target_server_principal_name Account di accesso di destinazione dell'azione. sysname No
target_server_principal_sid SID dell'account di accesso di destinazione. varbinary No
target_database_principal_name Utente di destinazione dell'azione. sysname No
server_instance_name Nome dell'istanza del server in cui si è verificato il controllo. Viene utilizzato il formato standard computer\istanza. nvarchar(120)
database_name Contesto del database in cui si è verificata l'azione. sysname No
schema_name Contesto dello schema in cui si è verificata l'azione. sysname No
object_name Nome dell'entità in cui si è verificato il controllo. ad esempio:

oggetti server

database

oggetti di database

oggetti dello schema

istruzione TSQL (se presente)
sysname No
istruzione istruzione TSQL (se presente) nvarchar(4000) No
additional_information Qualsiasi informazione aggiuntiva sull'evento, archiviata in formato XML. nvarchar(4000) No

Osservazioni

Alcune azioni non consentono l'inserimento di un valore di colonna perché il valore potrebbe non essere valido per l'azione.

SQL Server Audit archivia 4000 caratteri di dati per i campi dei caratteri in un record di controllo. Quando i valori additional_information e statement restituiti da un'azione controllabile sono costituiti da più di 4000 caratteri, viene usata la colonna sequence_no per scrivere più record nel report del controllo in modo che i dati vengano registrati da una singola azione di controllo. Il processo è il seguente:

  • La colonna statement viene divisa in 4000 caratteri.

  • SQL Server Audit scrive come prima riga per il record di controllo con i dati parziali. Tutti gli altri campi vengono duplicati in ogni riga.

  • Viene incrementato il valore di sequence_no .

  • Questo processo viene ripetuto fino a registrare tutti i dati.

È possibile connettere i dati leggendo le righe in sequenza con il valore sequence_no e le colonne event_Time, action_id e session_id per identificare l'azione.

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