sys.fn_get_audit_file (Transact-SQL)
Restituisce informazioni da un file di controllo creato da un controllo del server. Per ulteriori informazioni, vedere SQL Server Audit (Database Engine).
Convenzioni della sintassi Transact-SQL
Sintassi
fn_get_audit_file ( file_pattern,
{ default | initial_file_name | NULL },
{ default | audit_record_offset | NULL } )
Argomenti
file_pattern
Specifica la directory o il percorso e il nome di file per il set di file di controllo da leggere. Il tipo è nvarchar(260). Questo argomento deve includere sia un percorso (lettera di unità o condivisione di rete) che un nome di file, che può includere un carattere jolly. È possibile utilizzare un solo asterisco (*) per raccogliere più file da un set di file di controllo, ad esempio:<path>\*: raccoglie tutti i file di controllo presenti nel percorso specificato.
<percorso>\LoginsAudit_{GUID}: raccoglie tutti i file di controllo con la coppia nome e GUID specificata.
<path>\LoginsAudit_{GUID}_00_29384.sqlaudit: raccoglie un file di controllo specifico.
[!NOTA]
Se si passa un percorso senza un criterio del nome di file, verrà generato un errore.
initial_file_name
Specifica il percorso e il nome di un file specifico del set di file di controllo da cui avviare la lettura dei record di controllo. Il tipo è nvarchar(260).[!NOTA]
L'argomento initial_file_name deve contenere voci valide oppure il valore predefinito | NULL.
audit_record_offset
Specifica un percorso noto con il file specificato per l'argomento initial_file_name. Quando viene utilizzato questo argomento, la funzione avvierà la lettura dal primo record del buffer immediatamente successivo all'offset specificato.[!NOTA]
L'argomento audit_record_offset deve contenere voci valide oppure il valore predefinito | NULL. Il tipo è bitint.
Tabelle restituite
Nella tabella seguente viene descritto il contenuto del file di controllo che può essere restituito da questa funzione.
Nome colonna |
Tipo |
Descrizione |
---|---|---|
event_time |
datetime2 |
Data e ora di attivazione dell'azione controllabile. Non ammette valori Null. |
sequence_number |
int |
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. Non ammette valori Null. |
action_id |
varchar(4) |
ID dell'azione. Non ammette valori Null. |
succeeded |
bit 1 = esito positivo 0 = esito negativo |
Indica se l'azione che ha generato l'evento è riuscita. Non ammette valori Null. Per tutti gli eventi diversi dagli eventi di accesso, riporta solo l'esito del controllo dell'autorizzazione, non l'operazione. |
permission_bitmask |
varbinary(16) |
In alcune azioni, si tratta delle autorizzazioni concesse, negate o revocate. |
is_column_permission |
bit 1 = True 0 = False |
Flag che indica se si tratta di un'autorizzazione a livello di colonna. Non ammette valori Null. Restituisce 0 quando permission_bitmask = 0. |
session_id |
smallint |
ID della sessione in cui è stato generato l'evento. Non ammette valori Null. |
server_principal_id |
int |
ID del contesto dell'account di accesso utilizzato per eseguire l'azione. Non ammette valori Null. |
database_principal_id |
int |
ID del contesto dell'utente del database in cui viene eseguita l'azione. Non ammette valori Null. Se non applicabile, ad esempio nel caso di un'operazione server, restituisce 0. |
target_server_principal_id |
int |
Entità server su cui viene eseguita un'operazione GRANT/DENY/REVOKE. Non ammette valori Null. Se non applicabile, restituisce 0. |
target_database_principal_id |
int |
Entità database su cui viene eseguita un'operazione GRANT/DENY/REVOKE. Non ammette valori Null. Se non applicabile, restituisce 0. |
object_id |
int |
ID dell'entità in cui si è verificato il controllo. Sono inclusi gli elementi seguenti:
Non ammette valori Null. Restituisce 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto, ad esempio nel caso dell'autenticazione. |
class_type |
varchar(2) |
Tipo di entità controllabile in cui si verifica il controllo. Non ammette valori Null. |
session_server_principal_name |
sysname |
Entità server per la sessione. Ammette valori Null. |
server_principal_name |
sysname |
Account di accesso corrente. Ammette valori Null. |
server_principal_sid |
varbinary |
SID dell'account di accesso corrente. Ammette valori Null. |
database_principal_name |
sysname |
Utente corrente. Ammette valori Null. Se non disponibile, restituisce NULL. |
target_server_principal_name |
sysname |
Account di accesso di destinazione dell'azione. Ammette valori Null. Se non applicabile, viene restituito NULL. |
target_server_principal_sid |
varbinary |
SID dell'account di accesso di destinazione. Ammette valori Null. Se non applicabile, viene restituito NULL. |
target_database_principal_name |
sysname |
Utente di destinazione dell'azione. Ammette valori Null. Se non applicabile, viene restituito NULL. |
server_instance_name |
sysname |
Nome dell'istanza del server in cui si è verificato il controllo. Viene utilizzato il formato server\istanza standard. |
database_name |
sysname |
Contesto di database in cui si è verificata l'azione. Ammette valori Null. Restituisce NULL per controlli che si verificano a livello di server. |
schema_name |
sysname |
Contesto relativo allo schema in cui si è verificata l'azione. Ammette valori Null. Restituisce NULL per controlli che si verificano all'esterno di uno schema. |
object_name |
sysname |
Nome dell'entità in cui si è verificato il controllo. Sono inclusi gli elementi seguenti:
Ammette valori Null. Restituisce NULL se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto, ad esempio nel caso dell'autenticazione. |
statement |
nvarchar(4000) |
Istruzione TSQL, se esiste. Ammette valori Null. Se non applicabile, viene restituito NULL. |
additional_information |
nvarchar(4000) |
Le informazioni univoche applicabili solo a un singolo evento vengono restituite in formato XML. Questo tipo di informazioni è contenuto in un numero ridotto di azioni controllabili. Un livello di stack TSQL sarà visualizzato in formato XML per le azioni associate a tale stack. 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 nidificazione corrente del frame. Il nome del modulo viene rappresentato in un formato composto da tre parti (nome_database, nome_schema e nome_oggetto) e sarà analizzato per eseguire l'escape di caratteri xml non validi quali '<', '>', '/', '_x'. Saranno sottoposti a escape come _xHHHH_, dove HHHH rappresenta il codice UCS-2 esadecimale a quattro cifre per il carattere. Ammette valori Null. Restituisce NULL quando non sono presenti informazioni aggiuntive segnalate dall'evento. |
file_name |
varchar(260) |
Percorso e nome del file di log di controllo da cui proviene il record. Non ammette valori Null. |
audit_file_offset |
bigint |
Offset del buffer nel file che contiene il record di controllo. Non ammette valori Null. |
user_defined_event_id |
smallint |
ID dell'evento definito dall'utente passato come argomento a sp_audit_write. NULL per gli eventi di sistema (impostazione predefinita) e diverso da zero per evento definito dall'utente. Per ulteriori informazioni, vedere sp_audit_write (Transact-SQL). |
user_defined_information |
nvarchar(4000) |
Utilizzato per registrare qualsiasi informazione aggiuntiva che l'utente desidera registrare nel log di controllo tramite la stored procedure sp_audit_write. |
Osservazioni
Se l'argomento file_pattern passato a fn_get_audit_file fa riferimento a un percorso o a un file che non esiste o se il file non è di controllo, verrà restituito il messaggio di errore MSG_INVALID_AUDIT_FILE.
Autorizzazioni
È necessaria l'autorizzazione CONTROL SERVER.
Esempi
In questo esempio viene eseguita la lettura da un file denominato \\serverName\Audit\HIPPA_AUDIT.sqlaudit.
SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO
Per un esempio completo delle modalità di creazione di un controllo, vedere SQL Server Audit (Database Engine).
Vedere anche
Riferimento
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.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)
Concetti
Creazione di un controllo del server e di una specifica del controllo del server