Record di SQL Server Audit
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 di generazione dell'azione controllabile. | datetime2 | Sì |
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 | 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 il controllo delle autorizzazioni dell'azione che attiva l'evento di controllo è riuscito o meno. | bit - 1 = esito positivo, 0 = esito negativo |
Sì |
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 | 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. | int | No |
object_id | ID primario dell'entità in cui si è verificato il controllo. L'ID può essere: oggetti server database oggetti di database oggetti dello schema |
int | No |
target_server_principal_id | Entità server cui si applica l'azione controllabile. | int | Sì |
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) | 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 | Sì |
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) | Sì |
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. Il nome può essere: oggetti server database oggetti di database oggetti dello schema Istruzione Transact-SQL (se presente) |
sysname | No |
statement | istruzione TSQL (se presente) | nvarchar(4000) | No |
additional_information | Qualsiasi informazione aggiuntiva sull'evento, archiviata in formato XML. | nvarchar(4000) | No |
Note
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 ogni campo di tipo carattere 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. Passaggi del processo:
La colonna statement viene divisa in 4000 caratteri.
SQL Server Audit scrive i dati parziali come prima riga del record di controllo. 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.
Contenuto correlato
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)