sys.fn_get_audit_file (Transact-SQL)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics
Restituisce informazioni da un file di controllo creato da un controllo del server in SQL Server. Per altre informazioni, vedere SQL Server Audit (Motore di database).
Convenzioni di 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).
Il passaggio di un percorso senza un modello di nome file genera un errore.
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 usare un singolo asterisco (*) per raccogliere più file da un set di file di controllo. Ad esempio:
\<path>\*
- Raccogliere tutti i file di controllo nel percorso specificato.<path>\LoginsAudit_{GUID}*
- Raccogliere tutti i file di controllo con il nome e la coppia GUID specificati.<path>\LoginsAudit_{GUID}_00_29384.sqlaudit
- Raccogliere un file di controllo specifico.
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).
L'argomento initial_file_name deve contenere voci valide o deve contenere il default
valore o NULL
.
audit_record_offset
Specifica un percorso noto con il file specificato per il initial_file_name. Quando viene utilizzato questo argomento, la funzione inizia a leggere il primo record del buffer immediatamente dopo l'offset specificato.
L'argomento audit_record_offset deve contenere voci valide o deve contenere il default
valore o NULL
. Il tipo è bigint.
Tabelle restituite
Nella tabella seguente viene descritto il contenuto del file di controllo che può essere restituito da questa funzione.
Nome colonna | Tipo | Descrizione |
---|---|---|
action_id |
varchar(4) | ID dell'azione. Non ammette i valori NULL. |
additional_information |
nvarchar(4000) | Le informazioni univoche applicabili solo a un singolo evento vengono restituite in formato XML. Alcune azioni controllabili contengono questo tipo di informazioni. Un livello dello stack T-SQL viene visualizzato in formato XML per le azioni con stack T-SQL associato. Il formato XML è: <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 viene analizzato per eseguire l'escape di caratteri XML non validi, ad esempio < , > / , . _x Sono fuggiti come _xHHHH\_ . HHHH Indica 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. |
affected_rows |
bigint | Numero di righe interessate dall'istruzione eseguita. Si applica a: solo database SQL di Azure |
application_name |
nvarchar(128) | Nome dell'applicazione client che ha eseguito l'istruzione che ha causato l'evento di controllo. Si applica a: SQL Server 2017 (14.x) e versioni successive e database SQL di Azure |
audit_file_offset |
bigint | Offset del buffer nel file che contiene il record di controllo. Non ammette i valori NULL. Si applica a: solo SQL Server |
audit_schema_version |
int | Sempre 1 . |
class_type |
varchar(2) | Tipo di entità controllabile in cui si verifica il controllo. Non ammette i valori NULL. |
client_ip |
nvarchar(128) | IP di origine dell'applicazione client. Si applica a: SQL Server 2017 (14.x) e versioni successive e database SQL di Azure |
connection_id |
uniqueidentifier | ID della connessione nel server. Si applica a: database SQL di Azure e Istanza gestita di SQL |
data_sensitivity_information |
nvarchar(4000) | Tipi di informazioni ed etichette di riservatezza restituiti dalla query controllate, in base alle colonne classificate nel database. Altre informazioni su database SQL di Azure individuazione e classificazione dei dati. Si applica a: solo database SQL di Azure |
database_name |
sysname | Contesto del database in cui si è verificata l'azione. Ammette valori Null. Restituisce NULL per i controlli che si verificano a livello di server. |
database_principal_id |
int | ID del contesto dell'utente del database in cui viene eseguita l'azione. Non ammette i valori NULL. Restituisce 0 se non si applica. ad esempio nel caso di un'operazione server, restituisce 0. |
database_principal_name |
sysname | Utente corrente. Ammette valori Null. Restituisce NULL se non disponibile. |
duration_milliseconds |
bigint | Durata dell'esecuzione delle query in millisecondi. Si applica a: database SQL di Azure e Istanza gestita di SQL |
event_time |
datetime2 | Data e ora di attivazione dell'azione controllabile. Non ammette i valori NULL. |
file_name |
varchar(260) | Percorso e nome del file di log di controllo da cui proviene il record. Non ammette i valori NULL. |
is_column_permission |
bit | Flag che indica se si tratta di un'autorizzazione a livello di colonna. Non ammette i valori NULL. Restituisce 0 quando l'oggetto = permission_bitmask 0 .1 = true0 = false |
object_id |
int | ID dell'entità in cui si è verificato il controllo, che include gli oggetti seguenti: - Oggetti server -Database - Oggetti di database - Oggetti schema Non ammette i 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. |
object_name |
sysname | Nome dell'entità in cui si è verificato il controllo, che include gli oggetti seguenti: - Oggetti server -Database - Oggetti di database - Oggetti schema 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. |
obo_middle_tier_app_id |
varchar(120) | ID applicazione dell'applicazione di livello intermedio che si connette a database SQL di Azure usando l'accesso OBO. Ammette valori Null. Restituisce NULL se la richiesta non viene effettuata usando l'accesso OBO.Si applica a: Database SQL di Azure |
permission_bitmask |
varbinary(16) | In alcune azioni, questa maschera di bit è le autorizzazioni concesse, negate o revocate. |
response_rows |
bigint | Numero di righe restituite nel set di risultati. Si applica a: database SQL di Azure e Istanza gestita di SQL |
schema_name |
sysname | Contesto dello schema in cui si è verificata l'azione. Ammette valori Null. Restituisce NULL per i controlli che si verificano all'esterno di uno schema. |
sequence_group_id |
varbinary | Identificatore univoco. Si applica a: SQL Server 2016 (13.x) e versioni successive |
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 i valori NULL. |
server_instance_name |
sysname | Nome dell'istanza del server in cui si è verificato il controllo. Viene utilizzato il formato server\istanza standard. |
server_principal_id |
int | ID del contesto dell'account di accesso utilizzato per eseguire l'azione. Non ammette i 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. |
session_id |
smallint | ID della sessione in cui si è verificato l'evento. Non ammette i valori NULL. |
session_server_principal_name |
sysname | Entità server per la sessione. Ammette valori Null. Restituisce l'identità dell'account di accesso originale connesso all'istanza di SQL Server nel caso in cui siano presenti opzioni di contesto esplicite o implicite. |
statement |
nvarchar(4000) | Istruzione Transact-SQL, se esistente. Ammette valori Null. Restituisce NULL se non applicabile. |
succeeded |
bit | Indica se l'azione che ha generato l'evento è riuscita. Non ammette i valori NULL. Per tutti gli eventi diversi dagli eventi di accesso, riporta solo l'esito del controllo dell'autorizzazione, non l'operazione.1 = esito positivo0 = fail |
target_database_principal_id |
int | Entità database su cui viene eseguita l'operazioneGRANT REVOKE /DENY /. Non ammette i valori NULL. Restituisce 0 se non applicabile. |
target_database_principal_name |
sysname | Utente di destinazione dell'azione. Ammette valori Null. Restituisce NULL se non applicabile. |
target_server_principal_id |
int | Entità server su cui viene eseguita l'operazioneGRANT REVOKE /DENY /. Non ammette i valori NULL. Restituisce 0 se non applicabile. |
target_server_principal_name |
sysname | Account di accesso di destinazione dell'azione. Ammette valori Null. Restituisce NULL se non applicabile. |
target_server_principal_sid |
varbinary | SID dell'account di accesso di destinazione. Ammette valori Null. Restituisce NULL se non applicabile. |
transaction_id |
bigint | Identificatore univoco per identificare più eventi di controllo in una transazione. Si applica a: SQL Server 2016 (13.x) e versioni successive |
user_defined_event_id |
smallint | ID evento definito dall'utente passato come argomento a sp_audit_write . NULL per gli eventi di sistema (impostazione predefinita) e non zero per l'evento definito dall'utente. Per altre informazioni, vedere sp_audit_write (Transact-SQL).Si applica a: SQL Server 2012 (11.x) e versioni successive, database SQL di Azure e Istanza gestita di SQL |
user_defined_information |
nvarchar(4000) | Utilizzato per registrare eventuali informazioni aggiuntive che l'utente desidera registrare nel log di controllo usando la sp_audit_write stored procedure.Si applica a: SQL Server 2012 (11.x) e versioni successive, database SQL di Azure e Istanza gestita di SQL |
Osservazioni:
Se l'argomento file_pattern passato a fa riferimento a un percorso o a
fn_get_audit_file
un file che non esiste o se il file non è un file di controllo, viene restituito ilMSG_INVALID_AUDIT_FILE
messaggio di errore.fn_get_audit_file
non può essere usato quando il controllo viene creato con leAPPLICATION_LOG
opzioni ,SECURITY_LOG
oEXTERNAL_MONITOR
.
Autorizzazioni
È necessaria l'autorizzazione CONTROL SERVER
.
Esempi
In questo esempio viene eseguita la lettura da un file denominato \\serverName\Audit\HIPAA_AUDIT.sqlaudit
.
SELECT *
FROM sys.fn_get_audit_file(
'\\serverName\Audit\HIPAA_AUDIT.sqlaudit',
DEFAULT,
DEFAULT
);
GO
Per un esempio completo delle modalità di creazione di un controllo, vedere SQL Server Audit (motore di database).
Limiti
La selezione di righe all'interno sys.fn_get_audit_file
di un'istruzione Create Table As Select (CTAS) o INSERT INTO
è una limitazione durante l'esecuzione in Azure Synapse Analytics. Anche se la query viene completata correttamente e non vengono visualizzati messaggi di errore, non sono presenti righe nella tabella creata tramite CTAS o INSERT INTO
.
Contenuto correlato
- CREATE edizione Standard RVER AUDIT (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- CREATE edizione Standard RVER AUDIT SPECIFICATION (Transact-SQL)
- ALTER edizione Standard RVER AUDIT SPECIFICATION (Transact-SQL)
- DROP edizione Standard RVER AUDIT SPECIFICATION (Transact-SQL)
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER DATABA edizione Standard AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABA edizione Standard AUDIT SPECIFICATION (Transact-SQL)
- ALTER AUTHORIZATION (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)
- Creazione di un controllo del server e di una specifica del controllo del server
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.server_audit_specifications (Transact-SQL)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per