fn_get_audit_file (Transact-SQL)
Restituisce informazioni da un file di controllo creato da un controllo del server. Per ulteriori informazioni, vedere Informazioni su SQL Server Audit.
Sintassi
fn_get_audit_file ( file_pattern, {default | initial_file_name | NULL }, {default | audit_file_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. 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:<percorso>\*: raccoglie tutti i file di controllo presenti nel percorso specificato.
<percorso>\LoginsAudit_{GUID}: raccoglie tutti i file di controllo con nome e GUID specificati.
<percorso>\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.[!NOTA]
L'argomento initial_file_name deve contenere voci valide oppure il valore predefinito | NULL.
audit_file_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_file_offset deve contenere voci valide oppure il valore predefinito | NULL.
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 |
Tiene traccia della sequenza di 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 |
char(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 |
bigint |
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 |
int |
ID della sessione in cui si è verificato l'evento. Non ammette valori Null. |
server_principal_id |
int |
ID del contesto relativo all'account di accesso in cui l'azione viene eseguita. Non ammette valori Null. |
database_principal_id |
int |
ID del contesto relativo all'utente del database in cui l'azione viene eseguita. 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 |
char(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, restituisce NULL. |
target_server_principal_sid |
varbinary |
SID dell'account di accesso di destinazione. Ammette valori Null. Se non applicabile, restituisce NULL. |
target_database_principal_name |
sysname |
Utente di destinazione dell'azione. Ammette valori Null. Se non applicabile, restituisce Null. |
server_instance_name |
nvarchar(120) |
Nome dell'istanza del server in cui si è verificato il controllo. Viene utilizzato il formato server\istanza standard. |
database_name |
sysname |
Contesto relativo al 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, restituisce 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. 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. |
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 Informazioni su SQL Server Audit.
Vedere anche