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:
- Eventi estesi nel database SQL di Azure
- Viste del catalogo del database SQL di Azure
- sys.database_connection_stats (database SQL di Azure)
- Risoluzione dei problemi di connettività e di altri errori con il database SQL di Azure e Istanza gestita di SQL di Azure
- Risolvere gli errori di connessione temporanei nel database SQL e in Istanza gestita di SQL