sys.event_log (Database di SQL Azure)

Si applica a: database SQL di Azure

Restituisce un esito positivo database SQL di Azure le connessioni al database e gli errori di connessione. È possibile usare queste informazioni per tenere traccia dell'attività del database o per risolvere i relativi problemi.

Attenzione

Per i server logici con un numero elevato di database e/o un numero elevato di account di accesso, l'esecuzione di query sys.event_log può causare un utilizzo elevato delle risorse nel database master, probabilmente causando errori di accesso. Per ridurre l'impatto di questo problema, limitare le query di sys.event_log.

La vista sys.event_log contiene le colonne seguenti.

Nome colonna Tipo di dati Descrizione
database_name sysname Nome del database di . Se la connessione ha esito negativo e l'utente non ha specificato un nome di database, questa colonna è vuota.
start_time datetime2 Data e ora UTC dell'inizio dell'intervallo di aggregazione. In caso di eventi aggregati, l'ora è sempre un multiplo di 5 minuti. Ad esempio:

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 Data e ora UTC della fine dell'intervallo di aggregazione. Per gli eventi aggregati, End_time è sempre esattamente 5 minuti dopo il start_time corrispondente nella stessa riga. Per gli eventi non aggregati, start_time e end_time uguali alla data e all'ora UTC effettive dell'evento.
event_category nvarchar(64) Componente di alto livello tramite cui è stato generato l'evento.

Per un elenco dei possibili valori, vedere Tipi di evento.
event_type nvarchar(64) Il tipo di evento.

Per un elenco dei possibili valori, vedere Tipi di evento.
event_subtype int Sottotipo dell'evento in corso.

Per un elenco dei possibili valori, vedere Tipi di evento.
event_subtype_desc nvarchar(64) Descrizione del sottotipo di evento.

Per un elenco dei possibili valori, vedere Tipi di evento.
severity int Gravità dell'errore di . I valori possibili sono:

0 = Informazioni
1 = Avviso
2 = errore
event_count int Numero di volte in cui si è verificato questo evento per il database specificato entro l'intervallo di tempo specificato (start_time e end_time).
description nvarchar(max) Descrizione dettagliata dell'evento.

Per un elenco dei possibili valori, vedere Tipi di evento.
additional_data XML Questa colonna non è usata e viene mantenuta per garantire la compatibilità con le versioni precedenti.

Tipi di evento

Gli eventi registrati da ogni riga in questa visualizzazione sono identificati da una categoria (event_category), dal tipo di evento (event_type) e da un sottotipo (event_subtype). Nella tabella seguente sono elencati i tipi di eventi raccolti in questa vista.

Per gli eventi nella categoria di connettività , le informazioni di riepilogo sono disponibili nella visualizzazione sys.database_connection_stats.

Nota

Questa vista non include tutti i possibili eventi di database database SQL che possono verificarsi, ma solo quelli elencati qui. È possibile aggiungere categorie, tipi di eventi e sottotipi aggiuntivi nelle versioni future di database SQL.

event_category event_type event_subtype event_subtype_desc severity description
Connettività connection_successful 0 connection_successful 0 Connessione al database effettuata.
Connettività connection_failed 0 invalid_login_name 2 Il nome dell'account di accesso non è valido in questa versione di SQL Server.
Connettività connection_failed 1 windows_auth_not_supported 2 Account di accesso di Windows non supportati in questa versione di SQL Server.
Connettività connection_failed 2 attach_db_not_supported 2 L'utente ha richiesto di allegare un file di database, che non è supportato.
Connettività connection_failed 3 change_password_not_supported 2 L'utente ha richiesto di modificare la password dell'accesso utente, operazione non supportata.
Connettività connection_failed 4 login_failed_for_user 2 Accesso non riuscito per l'utente .
Connettività connection_failed 5 login_disabled 2 L'account di accesso è stato disabilitato.
Connettività connection_failed 7 blocked_by_firewall 2 Indirizzo IP del client non consentito per l'accesso al server.

Autorizzazioni

Gli utenti autorizzati ad accedere al database master nel server logico in database SQL di Azure dispongono dell'accesso in sola lettura a questa vista.

Osservazioni:

Aggregazione di eventi

Le informazioni sull'evento per questa vista vengono raccolte e aggregate in intervalli di 5 minuti. La colonna event_count rappresenta il numero di volte in cui si è verificato un determinato event_type e event_subtype per un database specifico entro un determinato intervallo di tempo.

Nota

Alcuni eventi, ad esempio i deadlock, non vengono aggregati. Per questi eventi, event_count sarà 1 e start_time e end_time sarà uguale alla data e all'ora UTC effettive in cui si è verificato l'evento.

Ad esempio, se un utente non riesce a connettersi al database Database1, a causa di un nome di accesso non valido, sette volte tra le 11:00 e le 11:05 il 3/30/2022 (UTC), queste informazioni sono disponibili in una singola riga in questa visualizzazione:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc severity event_count description additional_data
Database1 2022-03-30 11:00:00 2022-03-30 11:05:00 connectivity connection_failed 4 login_failed_for_user 2 7 Login failed for user. NULL

start_time e end_time dell'intervallo

Un evento viene incluso in un intervallo di aggregazione quando l'evento si verifica su o dopo start_time e prima di end_time per tale intervallo. Ad esempio, un evento che si verifica esattamente il 2022-03-30 19:25:00.0000000 è incluso solo nel secondo intervallo indicato di seguito:

start_time                    end_time  
2022-03-30 19:20:00.0000000   2022-03-30 19:25:00.0000000  
2022-03-30 19:25:00.0000000   2022-03-30 19:30:00.0000000  

Aggiornamenti dei dati

I dati in questa vista vengono accumulati nel tempo. In genere, vengono accumulati entro un'ora dall'inizio dell'intervallo di aggregazione, ma la visualizzazione di tutti i dati nella vista potrebbe richiedere fino a un massimo di 24 ore. Durante questo tempo, le informazioni contenute all'interno di una singola riga possono essere aggiornate periodicamente.

Conservazione dei dati

I dati in questa vista vengono conservati per un massimo di 30 giorni o eventualmente inferiori a seconda del numero di database e del numero di eventi univoci generati da ogni database. Per prolungare il mantenimento di queste informazioni, copiare i dati in un database separato. Dopo aver creato una copia iniziale della vista, le relative righe possono essere aggiornate quando i dati vengono accumulati. Per mantenere aggiornata la copia dei dati, eseguire periodicamente un'analisi delle righe della tabella per cercare un eventuale aumento del numero di eventi di righe esistenti e per identificare le righe nuove (è possibile effettuare questa operazione per le righe univoche mediante le ore di inizio e di fine), quindi aggiornare la copia dei dati con queste modifiche.

Errori non inclusi

In questa vista non possono essere incluse tutte le informazioni relative a connessioni ed errori:

  • Questa vista non include tutti gli errori di database database SQL che potrebbero verificarsi, ma solo quelli specificati in Tipi di eventi in questo articolo.
  • Se si verifica un errore del computer all'interno del data center database SQL, una piccola quantità di dati potrebbe non essere presente nella tabella eventi.
  • Se un indirizzo IP è stato bloccato tramite DoSGuard, gli eventi di tentativi di connessione dall'indirizzo IP in questione non possono essere raccolti, né verranno visualizzati in questa vista.

Esempi

Connettersi al database master nel server logico in database SQL di Azure per eseguire le query Transact-SQL seguenti.

Eseguire una query sulla vista sys.event_log

La query seguente restituisce tutti gli eventi che si sono verificati tra mezzogiorno il 25 marzo 2022 e mezzogiorno il 30 marzo 2022 (UTC). Per impostazione predefinita, i risultati delle query vengono ordinati in base start_time (ordine crescente).

SELECT database_name, start_time, end_time, event_category,
	event_type, event_subtype, event_subtype_desc, severity,
	event_count, description
FROM sys.event_log
WHERE start_time >= '2022-03-25 12:00:00'
    AND end_time <= '2022-03-30 12:00:00';  

Errori di accesso alle query per gli utenti

La query seguente restituisce errori di connessione non riusciti per gli utenti che si sono verificati tra le 10.00 e le 11.00 il 25 marzo 2022 (UTC).

SELECT database_name, start_time, end_time, event_category,
	event_type, event_subtype, event_subtype_desc, severity,
	event_count, description
FROM sys.event_log
WHERE event_type = 'connection_failed'
    AND event_subtype = 4
    AND start_time >= '2022-03-25 10:00:00'
    AND end_time <= '2022-03-25 11:00:00';  

Passaggi successivi

Per altre informazioni sulle database SQL di Azure, vedere gli articoli seguenti: