Condividi tramite


sys.event_log (Database di SQL Azure)

Restituisce le connessioni al database del Database SQL stabilite correttamente, nonché errori di connessione, deadlock ed eventi di limitazione. È possibile utilizzare queste informazioni per tenere traccia dell'attività del database con il Database SQL o per risolvere i problemi relativi.

Si applica a: Database SQL di Azure.

La vista sys.event_log contiene le colonne seguenti.

Nome colonna

Tipo di dati

Descrizione

database_name

sysname

Nome del database. 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. Esempio:

'2011-09-28 16:00:00'
'2011-09-28 16:05:00'
'2011-09-28 16:10:00'

end_time

datetime2

Data e ora UTC della fine dell'intervallo di aggregazione. In caso di eventi aggregati, End_time corrisponde sempre a un valore di 5 minuti dopo rispetto al relativo start_time nella stessa riga. In caso di eventi non aggregati, start_time e end_time corrispondono 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 di valori possibili, vedere Event Types.

event_type

nvarchar(64)

Tipo di evento.

Per un elenco di valori possibili, vedere Event Types.

event_subtype

int

Sottotipo dell'evento in corso.

Per un elenco di valori possibili, vedere Event Types.

event_subtype_desc

nvarchar(64)

Descrizione del sottotipo di evento.

Per un elenco di valori possibili, vedere Event Types.

severity

int

Gravità dell'errore. I valori possibili sono:

0 = Informazioni
1 = Avviso
2 = errore

event_count

int

Numero di occorrenze dell'evento per il database specificato nell'intervallo di tempo indicato (start_time e end_time).

description

nvarchar(max)

Descrizione dettagliata dell'evento.

Per un elenco di valori possibili, vedere Event Types.

additional_data

XML

In caso di eventi Deadlock, in questa colonna è contenuto l'evento Deadlock Graph. La colonna è NULL per altri tipi di evento.

Tipi di evento

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

Per gli eventi nella categoria connectivity, le informazioni di riepilogo sono disponibili nella vista sys.database_connection_stats.

Nota

La vista non include tutti gli eventi possibili del database Database SQL, ma solo quelli elencati.Nelle versioni future del Database SQL potranno venire aggiunte categorie, tipi di evento e sottotipi.

event_category

event_type

event_subtype

event_subtype_desc

severity

description

connectivity

connection_successful

0

connection_successful

0

Connessione al database effettuata.

connectivity

connection_failed

0

invalid_login_name

2

Il nome dell'account di accesso non è valido in questa versione di SQL Server.

connectivity

connection_failed

1

windows_auth_not_supported

2

Account di accesso di Windows non supportati in questa versione di SQL Server.

connectivity

connection_failed

2

attach_db_not_supported

2

L'utente ha richiesto di allegare un file di database che non è supportato.

connectivity

connection_failed

3

change_password_not_supported

2

L'utente ha richiesto di modificare la password dell'accesso utente, operazione non supportata.

connectivity

connection_failed

4

login_failed_for_user

2

Accesso non riuscito per l'utente.

connectivity

connection_failed

5

login_disabled

2

L'account di accesso è stato disabilitato.

connectivity

connection_failed

6

failed_to_open_db

2

Impossibile aprire il database. È possibile che il database non esista o che non sia stata effettuata l'autenticazione per aprire il database.

connectivity

connection_failed

7

blocked_by_firewall

2

Indirizzo IP del client non consentito per l'accesso al server.

connectivity

connection_failed

8

client_close

2

È possibile che si sia verificato un timeout del client nel tentativo di stabilire la connessione. Provare ad aumentare il timeout della connessione.

connectivity

connection_failed

9

reconfiguration

2

Impossibile stabilire la connessione poiché era in corso una riconfigurazione del database.

connectivity

connection_terminated

0

idle_connection_timeout

2

Il tempo di inattività della connessione è stato maggiore rispetto alla soglia definita dal sistema.

connectivity

connection_terminated

1

reconfiguration

2

La sessione è stata terminata a causa di una riconfigurazione del database.

connectivity

throttling

<codice motivo>

reason_code

2

La richiesta è limitata. Codice motivo limitazione: <codice motivo>. Per ulteriori informazioni, vedere Limitazione del motore.

connectivity

throttling_long_transaction

40549

long_transaction

2

Sessione terminata perché è presente una transazione a lunga esecuzione. Provare ad abbreviare la transazione. Per ulteriori informazioni, vedere Limiti delle risorse.

connectivity

throttling_long_transaction

40550

excessive_lock_usage

2

Sessione terminata perché ha acquisito troppi blocchi. Provare a leggere o modificare meno righe in una sola transazione. Per ulteriori informazioni, vedere Limiti delle risorse.

connectivity

throttling_long_transaction

40551

excessive_tempdb_usage

2

Sessione terminata a causa di un utilizzo eccessivo di TEMPDB. Provare a modificare la query per ridurre l'utilizzo dello spazio delle tabelle temporanee. Per ulteriori informazioni, vedere Limiti delle risorse.

connectivity

throttling_long_transaction

40552

excessive_log_space_usage

2

Sessione terminata a causa di un utilizzo eccessivo dello spazio del log delle transazioni. Provare a modificare meno righe in una sola transazione. Per ulteriori informazioni, vedere Limiti delle risorse.

connectivity

throttling_long_transaction

40553

excessive_memory_usage

2

Sessione terminata a causa di un utilizzo eccessivo della memoria. Provare a modificare la query per elaborare meno righe. Per ulteriori informazioni, vedere Limiti delle risorse.

engine

deadlock

0

deadlock

2

Si è verificato un deadlock.

Autorizzazioni

Gli utenti che consentono l'autorizzazione per accedere al database master hanno accesso a questa vista in sola lettura.

Esempi

La query seguente restituisce tutti gli eventi che si sono verificati tra le ore 12:00 del 9/25/2011 e le ore 12:00 del 9/28/2011 (UTC). Per impostazione predefinita, i risultati della query sono disposti, in ordine crescente, in base a start_time.

select * from sys.event_log where start_time>='2011-09-25:12:00:00' and end_time<='2011-09-28 12:00:00';

La query seguente restituisce tutti gli eventi deadlock per il database Database1.

select * from sys.event_log where event_type='deadlock' and database_name='Database1';

La query seguente restituisce la limitazione a livello hardware per gli eventi dei thread di lavoro SQL che si sono verificati tra le 10:00 e le 11:00 del 9/25/2011 (UTC).

select * from sys.event_log where event_type='throttling' and event_subtype=4194307 and start_time>='2011-09-25 10:00:00' and end_time<='2011-09-25 11:00:00';

Osservazioni

Aggregazione evento

Le informazioni sull'evento per questa vista vengono raccolte e aggregate in intervalli di 5 minuti. Nella colonna event_count viene indicato il numero di volte in cui si sono verificati event_type e event_subtype particolari per un database specifico in 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 corrisponderanno alla data e all'ora UTC effettive in cui si è verificato l'evento.

Ad esempio, se un utente non è riuscito a connettersi al database Database1 per sette volte tra le 11:00 e le 11:05 del 2/5/2012 (UTC) a causa di un nome account di accesso non valido, queste informazioni sono disponibili in una singola riga di questa vista:

database_name

start_time

end_time

event_category

event_type

event_subtype

event_subtype_desc

severity

event_count

description

additional_data

Database1

2012-02-05 11:00:00

2012-02-05 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 è incluso in un intervallo di aggregazione quando si verifica alle o dopo start_time e prima di end_time per l'intervallo. Ad esempio, un evento che si verifica esattamente il 2012-10-30 19:25:00.0000000 è incluso solo nel secondo intervallo indicato di seguito:

start_time                    end_time
2012-10-30 19:20:00.0000000   2012-10-30 19:25:00.0000000
2012-10-30 19:25:00.0000000   2012-10-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.

Mantenimento dei dati

I dati in questa vista vengono mantenuti per un massimo di 30 giorni o meno, a seconda del numero di database nel server logico e del numero di eventi univoci generati da ciascun 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 del database del Database SQL che possono verificarsi, ma solo quelli specificati in Event Types in questo argomento.

  • Se si verifica un errore del computer nel data center del Database SQL, è possibile che dalla tabella eventi manchi una piccola quantità di dati per il server logico.

  • 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.