Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a:SQL Server
La funzionalità di SQL Server Audit 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 | Tipo | Sempre disponibile |
|---|---|---|---|
| event_time | Data e ora in cui viene attivata l'azione controllabile. | datetime2 | Sì |
| sequence_number | 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 | Sì |
| 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) | Sì |
| succeeded | Indica se l'azione che ha attivato l'evento è riuscita. Per tutti gli eventi diversi dagli eventi di accesso, questo segnala solo se il controllo delle autorizzazioni è riuscito o non è riuscito, non l'operazione. - 1 = Esito positivo - 0 = Errore |
bit | Sì |
| permission_bitmask | In alcune azioni si tratta delle autorizzazioni concesse, negate o revocate. | varbinary(16) | No |
| is_column_permission | Flag che indica se si tratta di un'autorizzazione a livello di colonna. Restituisce 0 quando il permission_bitmask = 0. - 1 = Vero - 0 = Falso |
bit | No |
| session_id | ID della sessione in cui si è verificato l'evento. | smallint | Sì |
| server_principal_id | ID del contesto dell'account di accesso utilizzato per eseguire l'azione. | int | Sì |
| database_principal_id | ID del contesto dell'utente del database in cui viene eseguita l'azione. Restituisce 0 se non si applica. Ad esempio, un'operazione del server. | int | No |
| target_server_principal_id | Entità server su cui viene eseguita l'operazione GRANT/DENY/REVOKE. Restituisce 0 se non applicabile. | int | Sì |
| target_database_principal_id | L'entità di database su cui viene eseguita l'operazione GRANT/DENY/REVOKE. Restituisce 0 se non applicabile. | int | No |
| object_id | ID dell'entità in cui si è verificato il controllo. Ciò include: oggetti server database oggetti di database oggetti dello schema Restituisce 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto. Ad esempio, Autenticazione. |
int | No |
| class_type | Tipo di entità controllabile su cui si verifica il controllo. | varchar(2) | Sì |
| session_server_principal_name | Entità server per la sessione. | sysname | Sì |
| server_principal_name | Account di accesso corrente. | sysname | Sì |
| server_principal_sid | SID dell'account di accesso corrente. | varbinary(85) | Sì |
| database_principal_name | Utente corrente. | sysname | No |
| target_server_principal_name | Account di accesso di destinazione dell'azione. Restituisce NULL se non applicabile. | sysname | No |
| target_server_principal_sid | SID dell'account di accesso di destinazione. Restituisce NULL se non applicabile. | varbinary(85) | No |
| target_database_principal_name | Utente di destinazione dell'azione. Restituisce NULL se non applicabile. | sysname | No |
| server_instance_name | Nome dell'istanza del server in cui si è verificato il controllo. Viene usato il formato server\istanza standard. | sysname | Sì |
| database_name | Contesto del database in cui si è verificata l'azione. Nullable. Restituisce NULL per i controlli che si verificano a livello di server. | 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. Ciò include: oggetti server database oggetti di database oggetti dello schema Nullable. Restituisce NULL se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto. Ad esempio, Autenticazione. |
sysname | No |
| statement | Istruzione TSQL, se esistente. Restituisce NULL se non applicabile. | nvarchar(4000) | No |
| additional_information | Le informazioni univoche valide solo per un singolo evento vengono restituite come XML. Alcune azioni controllabili contengono questo tipo di informazioni. Un livello dello stack TSQL verrà visualizzato in formato XML per le azioni associate allo stack TSQL. Il formato XML sarà: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Frame nest_level indica il livello di annidamento corrente del frame. Il nome del modulo è rappresentato in tre parti (database_name, schema_name e object_name). Il nome del modulo verrà analizzato per eseguire l'escape di caratteri XML non validi, ad esempio '\<', '>''/', . '_x' Verranno preceduti da escape come _xHHHH\_. HHHH è l'acronimo del codice UCS-2 a quattro cifre per il carattereNullable. Restituisce NULL quando non sono presenti informazioni aggiuntive segnalate dall'evento. |
nvarchar(4000) | No |
| file_name | Percorso e nome del file di log di controllo da cui proviene il record. | varchar(260) | Sì |
| audit_file_offset |
Si applica a: solo SQL Server Offset del buffer nel file che contiene il record di controllo. |
bigint | No |
| user_defined_event_id |
Si applica a: SQL Server 2012 (11.x) e versioni successive, database SQL di Azure e Istanza gestita di SQL ID evento definito dall'utente passato come argomento a sp_audit_writeNULL 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 | No |
| user_defined_information |
Si applica a: SQL Server 2012 (11.x) e versioni successive, database SQL di Azure e Istanza gestita di SQL Utilizzato per registrare eventuali informazioni aggiuntive che l'utente desidera registrare nel log di controllo usando la sp_audit_write stored procedure. |
nvarchar(4000) | No |
| audit_schema_version | Sempre 1 | int | Sì |
| sequence_group_id |
Si applica a: solo SQL Server Identificatore univoco |
varbinary(85) | No |
| transaction_id |
Si applica a: solo SQL Server (a partire dalla versione 2016) Identificatore univoco per identificare più eventi di controllo in una transazione |
bigint | No |
| client_ip |
Si applica a: Database SQL di Azure + SQL Server (a partire dalla versione 2017) IP di origine dell'applicazione client |
nvarchar(128) | No |
| application_name |
Si applica a: Database SQL di Azure + SQL Server (a partire dalla versione 2017) Nome dell'applicazione client che ha eseguito l'istruzione che ha causato l'evento di controllo |
nvarchar(128) | No |
| duration_milliseconds |
Si applica a: Database SQL di Azure e Istanza gestita di SQL Durata dell'esecuzione delle query in millisecondi |
bigint | No |
| response_rows |
Si applica a: Database SQL di Azure e Istanza gestita di SQL Numero di righe restituite nel set di risultati. |
bigint | No |
| affected_rows |
Si applica a: solo database SQL di Azure Numero di righe interessate dall'istruzione eseguita. |
bigint | No |
| connection_id |
Si applica a: Database SQL di Azure e Istanza gestita di SQL ID della connessione nel server |
GUID | No |
| data_sensitivity_information |
Si applica a: solo database SQL di Azure 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 del database SQL di Azure |
nvarchar(4000) | No |
| host_name | Nome host della connessione client | nvarchar(128) | No |
| session_context | Informazioni sul contesto della sessione per la connessione | nvarchar(4000) | No |
| client_tls_version |
Si applica a: SQL Server 2022 e versioni successive Numero di versione TLS usato dalla connessione client |
int | No |
| client_tls_version_name |
Si applica a: SQL Server 2022 e versioni successive Nome della versione TLS usato dalla connessione client |
nvarchar(128) | No |
| database_transaction_id | Identificatore della transazione di database | bigint | No |
| ledger_start_sequence_number |
Si applica a: SQL Server 2022 e versioni successive Numero di sequenza iniziale del libro mastro per le operazioni del libro mastro |
bigint | No |
| external_policy_permissions_checked | Autorizzazioni dei criteri esterni controllate durante l'operazione | nvarchar(4000) | No |
Note
Alcune azioni non popolano il valore di una colonna perché potrebbero non essere utilizzabili per l'azione.
SQL Server Audit archivia 4.000 caratteri di dati per i campi di tipo carattere in un record di controllo. Quando i valori di additional_information e istruzione restituiti da un'azione controllabile restituiscono più di 4000 caratteri, la colonna sequence_number viene usata per scrivere più record nel report di controllo per registrare questi dati. Passaggi del processo:
La colonna dell'istruzione è suddivisa in 4.000 caratteri.
SQL Server Audit scrive i dati parziali come prima riga del record di controllo. Tutti gli altri campi vengono duplicati in ogni riga.
Il valore sequence_number viene incrementato.
Questo processo viene ripetuto fino a registrare tutti i dati.
È possibile connettere i dati leggendo le righe in sequenza usando il valore sequence_number e le colonne event_Time, action_id e session_id per identificare l'azione.
Contenuti correlati
- CREATE SERVER AUDIT (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
- ALTER SPECIFICA DI VERIFICA DEL SERVER (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- CREA UNA SPECIFICAZIONE DI VERIFICA DEL DATABASE (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTERA AUTORIZZAZIONE (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.specifiche_di_audit_del_server (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)