Formato del log di controllo del database SQL
Si applica a:database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics
database SQL di Azure il controllo tiene traccia degli eventi del database e li scrive in un log di controllo nell'account di archiviazione di Azure oppure li invia a Hub eventi o Log Analytics per l'elaborazione e l'analisi downstream.
Convenzioni di denominazione
Controllo BLOB
I log di controllo archiviati nell'archiviazione BLOB di Azure vengono archiviati in un contenitore denominato sqldbauditlogs
nell'account di archiviazione di Azure. La gerarchia di directory all'interno del contenitore è nel formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/
. Il formato del nome file BLOB è <CreationTime>_<FileNumberInSession>.xel
, dove CreationTime
è in formato UTC hh_mm_ss_ms
ed FileNumberInSession
è un indice in esecuzione nel caso in cui i log di sessione si estendono su più file BLOB.
Ad esempio, per il database Database1
nel Server1
seguente è un possibile percorso valido:
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
I log di controllo delle repliche di sola lettura vengono archiviati nello stesso contenitore. La gerarchia di directory all'interno del contenitore è nel formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/
. Il nome del file BLOB condivide lo stesso formato. I log di controllo delle repliche di sola lettura vengono archiviati nello stesso contenitore.
Hub eventi
Gli eventi di controllo vengono scritti nello spazio dei nomi e nell'hub eventi definito durante la configurazione di controllo e vengono acquisiti nel corpo degli eventi Apache Avro e archiviati usando la formattazione JSON con la codifica UTF-8. Per leggere i log di controllo, è possibile usare Avro Tools o strumenti simili in grado di elaborare tale formato.
Log Analytics
Gli eventi di controllo vengono scritti nell'area di lavoro Log Analytics definita durante la configurazione del controllo, nella AzureDiagnostics
tabella con la categoria SQLSecurityAuditEvents
e la tabella con la categoria DevOpsOperationsAudit
per supporto tecnico Microsoft Operazioni. Per altre informazioni utili sul linguaggio di ricerca e i comandi di Log Analytics, vedere Guida di riferimento alla ricerca in Log Analytics.
Campi del log di controllo
Nome (BLOB) | Nome (Hub eventi/Log Analytics) | Descrizione | Tipo di BLOB | Tipo di Hub eventi/Log Analytics |
---|---|---|---|---|
action_id | action_id_s | ID dell'azione. | varchar(4) | stringa |
action_name | action_name_s | Nome dell'azione | N/D | stringa |
additional_information | additional_information_s | Eventuali informazioni aggiuntive sull'evento, archiviate come XML | nvarchar(4000) | stringa |
affected_rows | affected_rows_d | Numero di righe interessate dalla query | bigint | int |
application_name | application_name_s | Nome dell'applicazione client | nvarchar(128) | stringa |
audit_schema_version | audit_schema_version_d | Sempre 1 | int | int |
class_type | class_type_s | Tipo di entità controllabile in cui si verifica il controllo | varchar(2) | stringa |
class_type_desc | class_type_description_s | Descrizione dell'entità controllabile in cui si verifica il controllo | N/D | stringa |
client_ip | client_ip_s | IP di origine dell'applicazione client | nvarchar(128) | stringa |
connection_id | N/D | ID della connessione nel server | GUID | N/D |
data_sensitivity_information | data_sensitivity_information_s | Tipi di informazioni ed etichette di riservatezza restituiti dalla query controllate, in base alle colonne classificate nel database. Altre informazioni sull'individuazione e la classificazione dei dati di database SQL di Azure | nvarchar(4000) | stringa |
database_name | database_name_s | Contesto del database in cui si è verificata l'azione | sysname | stringa |
database_principal_id | database_principal_id_d | ID del contesto utente del database in cui viene eseguita l'azione | int | int |
database_principal_name | database_principal_name_s | Nome del contesto utente del database in cui viene eseguita l'azione | sysname | stringa |
duration_milliseconds | duration_milliseconds_d | Durata dell'esecuzione delle query in millisecondi | bigint | int |
event_time | event_time_t | Data e ora in cui viene attivata l'azione controllabile | datetime2 | data/ora |
host_name | N/D | Nome host del client | stringa | N/D |
is_column_permission | is_column_permission_s | Flag che indica se si tratta di un'autorizzazione a livello di colonna. 1 = true, 0 = false | bit | stringa |
N/D | is_server_level_audit_s | Flag che indica se questo controllo è a livello di server | N/D | stringa |
object_id | object_id_d | ID dell'entità in cui si è verificato il controllo. Sono inclusi gli oggetti server, i database, gli oggetti di database e gli oggetti dello schema. 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto | int | int |
object_name | object_name_s | Nome dell'entità in cui si è verificato il controllo. Sono inclusi gli oggetti server, i database, gli oggetti di database e gli oggetti dello schema. 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto | sysname | stringa |
obo_middle_tier_app_id | obo_middle_tier_app_id_s | ID applicazione dell'applicazione di livello intermedio connessa a database SQL tramite l'accesso OBO. | varchar(120) | stringa |
permission_bitmask | permission_bitmask_s | Se applicabile, visualizza le autorizzazioni concesse, negate o revocate. | varbinary(16) | stringa |
response_rows | response_rows_d | Numero di righe restituite nel set di risultati | bigint | int |
schema_name | schema_name_s | Contesto dello schema in cui si è verificata l'azione. NULL per i controlli che si verificano all'esterno di uno schema | sysname | stringa |
N/D | securable_class_type_s | Oggetto a protezione diretta mappato al class_type sottoposto a controllo | N/D | stringa |
sequence_group_id | sequence_group_id_g | Identificatore univoco | varbinary | GUID |
sequence_number | sequence_number_d | 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. Si noti che database SQL di Azure e Azure Synapse Audit archivia 4000 caratteri di dati per i campi di tipo carattere in un record di controllo. Quando sono presenti più di 4000 caratteri, tutti i dati oltre i primi 4000 caratteri verranno troncati | int | int |
server_instance_name | server_instance_name_s | Nome dell'istanza del server in cui si è verificato il controllo | sysname | stringa |
server_principal_id | server_principal_id_d | ID del contesto di accesso in cui viene eseguita l'azione | int | int |
server_principal_name | server_principal_name_s | Account di accesso corrente | sysname | stringa |
server_principal_sid | server_principal_sid_s | SID di accesso corrente | varbinary | stringa |
session_id | session_id_d | ID della sessione in cui si è verificato l'evento | smallint | int |
session_server_principal_name | session_server_principal_name_s | Entità server per la sessione | sysname | stringa |
statement | statement_s | Istruzione T-SQL eseguita (se disponibile) | nvarchar(4000) | stringa |
succeeded | succeeded_s | Indica se l'azione che ha generato l'evento è riuscita. Per gli eventi diversi da login e batch, questo segnala solo se il controllo delle autorizzazioni è riuscito o non è riuscito, non l'operazione. 1 = esito positivo, 0 = esito negativo | bit | stringa |
target_database_principal_id | target_database_principal_id_d | L'entità di database su cui viene eseguita l'operazione GRANT/DENY/REVOKE. 0 se non applicabile | int | int |
target_database_principal_name | target_database_principal_name_s | Utente di destinazione dell'azione. NULL se non applicabile | stringa | stringa |
target_server_principal_id | target_server_principal_id_d | Entità server su cui viene eseguita un'operazione GRANT/DENY/REVOKE. Restituisce 0 se non applicabile | int | int |
target_server_principal_name | target_server_principal_name_s | Account di accesso di destinazione dell'azione. NULL se non applicabile | sysname | stringa |
target_server_principal_sid | target_server_principal_sid_s | SID dell'account di accesso di destinazione. NULL se non applicabile | varbinary | stringa |
transaction_id | transaction_id_d | Solo SQL Server (a partire dal 2016) - 0 per database SQL di Azure | bigint | int |
user_defined_event_id | user_defined_event_id_d | ID evento definito dall'utente passato come argomento a sp_audit_write. NULL per gli eventi di sistema (impostazione predefinita) e diverso da zero per l'evento definito dall'utente. Per altre informazioni, vedere sp_audit_write (Transact-SQL) | smallint | int |
user_defined_information | user_defined_information_s | Informazioni definite dall'utente passate come argomento a sp_audit_write. NULL per gli eventi di sistema (impostazione predefinita) e diverso da zero per l'evento definito dall'utente. Per altre informazioni, vedere sp_audit_write (Transact-SQL) | nvarchar(4000) | stringa |
Passaggi successivi
Altre informazioni sul controllo database SQL di Azure.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per