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 |
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 l'azione che ha generato l'evento ha avuto esito positivo | bit - 1 = Operazione riuscita, 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 |
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 |
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. 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.
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 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)