sys.event_log (Database di SQL Azure)sys.event_log (Azure SQL Database)

SI APPLICA A: noSQL Server sìDatabase SQL di Azure noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: noSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Restituisce l'esito positivo Database SQL di AzureAzure SQL Database connessioni di database, gli errori di connessione e i deadlock.Returns successful Database SQL di AzureAzure SQL Database database connections, connection failures, and deadlocks. È possibile usare queste informazioni per tenere traccia dell'attività del database con il Database SQLSQL Database o per risolvere i problemi relativi.You can use this information to track or troubleshoot your database activity with Database SQLSQL Database.

Attenzione

Per le installazioni che dispongono di un numero elevato di database o un numero elevato di account di accesso, attività in sys. event_log può causare limitazioni delle prestazioni, utilizzo elevato della CPU e causare errori di accesso.For installations having a large number of databases or high numbers of logins, activity in sys.event_log can cause limitations in performance, high CPU usage, and possibly result in login failures. Le query di Sys. event_log possono contribuire al problema.Queries of sys.event_log can contribute to the problem. Microsoft sta lavorando per risolvere questo problema.Microsoft is working to resolve this issue. Nel frattempo, per ridurre l'impatto di questo problema, è possibile limitare le query di Sys. event_log.In the meantime, to reduce the impact of this issue, limit queries of sys.event_log. Gli utenti del plug-in SQL Server NewRelic devono visitare ottimizzazioni di prestazioni e ottimizzazione di plug-in Database SQL di Microsoft Azure per altre informazioni sulla configurazione.Users of the NewRelic SQL Server plugin should visit Microsoft Azure SQL Database plugin tuning & performance tweaks for additional configuration information.

La vista sys.event_log contiene le colonne seguenti.The sys.event_log view contains the following columns.

Nome colonnaColumn Name Tipo di datiData Type DescrizioneDescription
database_namedatabase_name sysnamesysname Nome del database.Name of the database. Se la connessione ha esito negativo e l'utente non ha specificato un nome di database, questa colonna è vuota.If the connection fails and the user did not specify a database name, then this column is blank.
start_timestart_time datetime2datetime2 Data e ora UTC dell'inizio dell'intervallo di aggregazione.UTC date and time of the start of the aggregation interval. In caso di eventi aggregati, l'ora è sempre un multiplo di 5 minuti.For aggregated events, the time is always a multiple of 5 minutes. Ad esempio:For example:

28/09/2011 16:00:00'2011-09-28 16:00:00'
'2011-09-28 16:05:00''2011-09-28 16:05:00'
'2011-09-28 16:10:00''2011-09-28 16:10:00'
end_timeend_time datetime2datetime2 Data e ora UTC della fine dell'intervallo di aggregazione.UTC date and time of the end of the aggregation interval. Per gli eventi aggregati End_time è sempre esattamente 5 minuti dopo rispetto al relativo start_time nella stessa riga.For aggregated events, End_time is always exactly 5 minutes later than the corresponding start_time in the same row. Per gli eventi che non vengono aggregati start_time e end_time uguale l'effettiva data e ora UTC dell'evento.For events that are not aggregated, start_time and end_time equal the actual UTC date and time of the event.
event_categoryevent_category nvarchar(64)nvarchar(64) Componente di alto livello tramite cui è stato generato l'evento.The high-level component that generated this event.

Visualizzare tipi di evento per un elenco di valori possibili.See Event Types for a list of possible values.
event_typeevent_type nvarchar(64)nvarchar(64) Tipo di evento.The type of event.

Visualizzare tipi di evento per un elenco di valori possibili.See Event Types for a list of possible values.
event_subtypeevent_subtype intint Sottotipo dell'evento in corso.The subtype of the occurring event.

Visualizzare tipi di evento per un elenco di valori possibili.See Event Types for a list of possible values.
event_subtype_descevent_subtype_desc nvarchar(64)nvarchar(64) Descrizione del sottotipo di evento.The description of the event subtype.

Visualizzare tipi di evento per un elenco di valori possibili.See Event Types for a list of possible values.
severityseverity intint Gravità dell'errore.The severity of the error. I valori possibili sono:Possible values are:

0 = Informazioni0 = Information
1 = Avviso1 = Warning
2 = errore2 = Error
event_countevent_count intint Il numero di volte in cui si è verificato questo evento per il database specificato nell'intervallo di tempo specificato (start_time e end_time).The number of times that this event occurred for the specified database within the time interval specified (start_time and end_time).
descriptiondescription nvarchar(max)nvarchar(max) Descrizione dettagliata dell'evento.A detailed description of the event.

Visualizzare tipi di evento per un elenco di valori possibili.See Event Types for a list of possible values.
additional_dataadditional_data XMLXML Nota: Questo valore è sempre NULL per i Database SQL V12 di Azure. Visualizzare esempi sezione per informazioni su come recuperare gli eventi deadlock per V12.Note: This value is always NULL for Azure SQL Database V12. See examples section for how to retrieve deadlock events for V12.

Per la Deadlock eventi, questa colonna contiene l'evento deadlock graph.For Deadlock events, this column contains the deadlock graph. La colonna è NULL per altri tipi di evento.This column is NULL for other event types.

Tipi di eventoEvent Types

Gli eventi registrati in ogni riga in questa vista vengono identificati per categoria (event_category), tipo di evento (event_type) e un sottotipo (event_subtype).The events recorded by each row in this view are identified by a category (event_category), event type (event_type), and a subtype (event_subtype). Nella tabella seguente sono elencati i tipi di eventi raccolti in questa vista.The following table lists the types of events that are collected in this view.

Per gli eventi di connettività categoria, le informazioni di riepilogo sono disponibile nella vista sys. database_connection_stats.For events in the connectivity category, summary information is available in the sys.database_connection_stats view.

Nota

La vista non include tutti gli eventi possibili del database Database SQLSQL Database, ma solo quelli elencati.This view does not include all possible Database SQLSQL Database database events that can occur, only those listed here. Nelle versioni future del Database SQLSQL Database potranno venire aggiunte categorie, tipi di evento e sottotipi.Additional categories, event types, and subtypes may be added in future releases of Database SQLSQL Database.

event_categoryevent_category event_typeevent_type event_subtypeevent_subtype event_subtype_descevent_subtype_desc severityseverity descriptiondescription
connectivityconnectivity connection_successfulconnection_successful 00 connection_successfulconnection_successful 00 Connessione al database effettuata.Connected successfully to database.
connectivityconnectivity connection_failedconnection_failed 00 invalid_login_nameinvalid_login_name 22 Il nome dell'account di accesso non è valido in questa versione di SQL Server.Login name is not valid in this version of SQL Server.
connectivityconnectivity connection_failedconnection_failed 11 windows_auth_not_supportedwindows_auth_not_supported 22 Account di accesso di Windows non supportati in questa versione di SQL Server.Windows logins are not supported in this version of SQL Server.
connectivityconnectivity connection_failedconnection_failed 22 attach_db_not_supportedattach_db_not_supported 22 L'utente ha richiesto di allegare un file di database che non è supportato.User requested to attach a database file which is not supported.
connectivityconnectivity connection_failedconnection_failed 33 change_password_not_supportedchange_password_not_supported 22 L'utente ha richiesto di modificare la password dell'accesso utente, operazione non supportata.User requested to change the password of the user logging in which is not supported.
connectivityconnectivity connection_failedconnection_failed 44 login_failed_for_userlogin_failed_for_user 22 Accesso non riuscito per l'utente.Login failed for user.
connectivityconnectivity connection_failedconnection_failed 55 login_disabledlogin_disabled 22 L'account di accesso è stato disabilitato.The login was disabled.
connectivityconnectivity connection_failedconnection_failed 66 failed_to_open_dbfailed_to_open_db 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Impossibile aprire il database.Database could not be opened. È possibile che il database non esista o che non sia stata effettuata l'autenticazione per aprire il database.May be caused because database does not exist or lack of authentication to open the database.
connectivityconnectivity connection_failedconnection_failed 77 blocked_by_firewallblocked_by_firewall 22 Indirizzo IP del client non consentito per l'accesso al server.Client IP address is not allowed to access the server.
connectivityconnectivity connection_failedconnection_failed 88 client_closeclient_close 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

È possibile che si sia verificato un timeout del client nel tentativo di stabilire la connessione.Client may have timed out when establishing connection. Provare ad aumentare il timeout della connessione.Try increasing the connection timeout.
connectivityconnectivity connection_failedconnection_failed 99 reconfigurationreconfiguration 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Impossibile stabilire la connessione poiché era in corso una riconfigurazione del database.Connection failed because the database was going through a reconfiguration at the time.
connectivityconnectivity connection_terminatedconnection_terminated 00 idle_connection_timeoutidle_connection_timeout 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Il tempo di inattività della connessione è stato maggiore rispetto alla soglia definita dal sistema.Connection has been idle for longer than system defined threshold.
connectivityconnectivity connection_terminatedconnection_terminated 11 reconfigurationreconfiguration 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

La sessione è stata terminata a causa di una riconfigurazione del database.The session has been terminated due to a database reconfiguration.
connectivityconnectivity throttlingthrottling <codice motivo ><reason code> reason_codereason_code 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

La richiesta è limitata.Request is throttled. Codice motivo limitazione: <codice motivo > .Throttling reason code: <reason code>. Per altre informazioni, vedere limitazione del motore.For more information, see Engine Throttling.
connectivityconnectivity throttling_long_transactionthrottling_long_transaction 4054940549 long_transactionlong_transaction 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Sessione terminata perché è presente una transazione a lunga esecuzione.Session is terminated because you have a long-running transaction. Provare ad abbreviare la transazione.Try shortening your transaction. Per altre informazioni, vedere dei limiti delle risorse.For more information, see Resource Limits.
connectivityconnectivity throttling_long_transactionthrottling_long_transaction 4055040550 excessive_lock_usageexcessive_lock_usage 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Sessione terminata perché ha acquisito troppi blocchi.The session has been terminated because it has acquired too many locks. Provare a leggere o modificare meno righe in una sola transazione.Try reading or modifying fewer rows in a single transaction. Per altre informazioni, vedere dei limiti delle risorse.For more information, see Resource Limits.
connectivityconnectivity throttling_long_transactionthrottling_long_transaction 4055140551 excessive_tempdb_usageexcessive_tempdb_usage 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Sessione terminata a causa di un utilizzo eccessivo di TEMPDB.The session has been terminated because of excessive TEMPDB usage. Provare a modificare la query per ridurre l'utilizzo dello spazio delle tabelle temporanee.Try modifying your query to reduce the temporary table space usage. Per altre informazioni, vedere dei limiti delle risorse.For more information, see Resource Limits.
connectivityconnectivity throttling_long_transactionthrottling_long_transaction 4055240552 excessive_log_space_usageexcessive_log_space_usage 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Sessione terminata a causa di un utilizzo eccessivo dello spazio del log delle transazioni.The session has been terminated because of excessive transaction log space usage. Provare a modificare meno righe in una sola transazione.Try modifying fewer rows in a single transaction. Per altre informazioni, vedere dei limiti delle risorse.For more information, see Resource Limits.
connectivityconnectivity throttling_long_transactionthrottling_long_transaction 4055340553 excessive_memory_usageexcessive_memory_usage 22 Nota: Si applica solo ai Database SQL Azure V11.Note: Applies only to Azure SQL Database V11.

Sessione terminata a causa di un utilizzo eccessivo della memoria.The session has been terminated because of excessive memory usage. Provare a modificare la query per elaborare meno righe.Try modifying your query to process fewer rows. Per altre informazioni, vedere dei limiti delle risorse.For more information, see Resource Limits.
Motoreengine deadlockdeadlock 00 deadlockdeadlock 22 Si è verificato un deadlock.Deadlock occurred.

PermissionsPermissions

Gli utenti che dispongono dell'autorizzazione di accesso di master database hanno accesso in lettura a questa visualizzazione.Users with permission to access the master database have read-only access to this view.

NoteRemarks

Aggregazione eventoEvent Aggregation

Le informazioni sull'evento per questa vista vengono raccolte e aggregate in intervalli di 5 minuti.Event information for this view is collected and aggregated within 5-minute intervals. Il event_count colonna rappresenta il numero di volte che una particolare event_type e event_subtype si è verificato per un database specifico all'interno di un determinato intervallo di tempo.The event_count column represents the number of times a particular event_type and event_subtype occurred for a specific database within a given time interval.

Nota

Alcuni eventi, ad esempio i deadlock, non vengono aggregati.Some events, such as deadlocks, are not aggregated. Per questi eventi, event_count sarà 1 e start_time e end_time sarà uguale l'effettiva data e ora UTC quando si è verificato l'evento.For these events, event_count will be 1 and start_time and end_time will equal the actual UTC date and time when the event occurred.

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:For example, if a user fails to connect to database Database1, because of an invalid login name, seven times between 11:00 and 11:05 on 2/5/2012 (UTC), this information is available in a single row in this view:

database_namedatabase_name start_timestart_time end_timeend_time event_categoryevent_category event_typeevent_type event_subtypeevent_subtype event_subtype_descevent_subtype_desc severityseverity event_countevent_count descriptiondescription additional_dataadditional_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'intervalloInterval start_time and end_time

Un evento è incluso in un intervallo di aggregazione quando si verifica l'evento sul oppure dopostart_time e prima end_time per tale intervallo.An event is included in an aggregation interval when the event occurs on or afterstart_time and beforeend_time for that interval. Ad esempio, un evento che si verifica esattamente il 2012-10-30 19:25:00.0000000 è incluso solo nel secondo intervallo indicato di seguito:For example, an event occurring exactly at 2012-10-30 19:25:00.0000000 would be included only in the second interval shown below:

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 datiData Updates

I dati in questa vista vengono accumulati nel tempo.Data in this view is accumulated over time. 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.Typically, the data is accumulated within an hour of the start of the aggregation interval, but it may take up to a maximum of 24 hours for all the data to appear in the view. Durante questo tempo, le informazioni contenute all'interno di una singola riga possono essere aggiornate periodicamente.During that time, the information within a single row may be updated periodically.

Mantenimento dei datiData Retention

I dati in questa vista vengono mantenuti per un massimo di 30 giorni o meno, a seconda del numero di database e il numero di eventi univoci generati da ciascun database.The data in this view is retained for a maximum of 30 days, or possibly less depending on the number of databases and the number of unique events each database generates. Per prolungare il mantenimento di queste informazioni, copiare i dati in un database separato.To retain this information for a longer period, copy the data to a separate database. Dopo aver creato una copia iniziale della vista, le relative righe possono essere aggiornate quando i dati vengono accumulati.After you make an initial copy of the view, the rows in the view may be updated as data is accumulated. 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.To keep your copy of the data up-to-date, periodically do a table scan of the rows to look for an increase in the event count of existing rows and to identify new rows (you can identify unique rows by using the start and end times), then update your copy of the data with these changes.

Errori non inclusiErrors Not Included

In questa vista non possono essere incluse tutte le informazioni relative a connessioni ed errori:This view may not include all connection and error information:

  • In questa vista non include tutti Database SQLSQL Database gli errori che possono verificarsi, solo quelle specificate nel database tipi di evento in questo argomento.This view does not include all Database SQLSQL Database database errors that could occur, only those specified in Event Types in this topic.
  • Se si verifica un errore di computer all'interno di Database SQLSQL Database Data Center, una piccola quantità di dati potrebbe essere mancante dalla tabella eventi.If there is a machine failure within the Database SQLSQL Database datacenter, a small amount of data may be missing from the event table.
  • 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.If an IP address has been blocked through DoSGuard, connection attempt events from that IP address cannot be collected and will not appear in this view.

EsempiExamples

Esempi sempliciSimple examples

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).The following query returns all events that occurred between noon on 9/25/2011 and noon on 9/28/2011 (UTC). Per impostazione predefinita, i risultati della query vengono ordinati in base start_time (ordine crescente).By default, query results are sorted by start_time (ascending order).

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 di deadlock per il database Database1 (si applica solo ai Database di SQL Azure V11).The following query returns all deadlock events for database Database1 (applies only to Azure SQL Database V11).

SELECT * FROM sys.event_log
WHERE event_type = 'deadlock'
    AND database_name = 'Database1';  

La query seguente restituisce tutti gli eventi di deadlock per il database Database1 (si applica solo ai Database SQL V12 di Azure).The following query returns all deadlock events for database Database1 (applies only to Azure SQL Database V12).

WITH CTE AS (  
       SELECT CAST(event_data AS XML)  AS [target_data_XML]  
   FROM sys.fn_xe_telemetry_blob_target_read_file('dl', null, null, null)  
)  
SELECT target_data_XML.value('(/event/@timestamp)[1]', 'DateTime2') AS Timestamp,  
target_data_XML.query('/event/data[@name=''xml_report'']/value/deadlock') AS deadlock_xml,  
target_data_XML.query('/event/data[@name=''database_name'']/value').value('(/value)[1]', 'nvarchar(100)') AS db_name  
FROM CTE  

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).The following query returns hard throttling on SQL Worker Threads events that occurred between 10:00 and 11:00 on 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';  

Eventi estesi con ambito databaseDB-Scoped Extended Event

Per configurare la sessione eventi estesi (XEvent) con ambito database, usare il codice di esempio seguente:Use the following sample code to set up the db-scoped Extended Event (XEvent) session:

IF EXISTS  
    (SELECT * from sys.database_event_sessions  
        WHERE name = 'azure_monitor_deadlock_session')  
BEGIN  
    ALTER EVENT SESSION azure_monitor_deadlock_session  
        ON DATABASE  
        DROP TARGET package0.ring_buffer;  
  
    DROP EVENT SESSION azure_monitor_deadlock_session  
        ON DATABASE;  
END  
  
CREATE EVENT SESSION azure_monitor_deadlock_session  
    ON DATABASE  
    ADD EVENT sqlserver.database_xml_deadlock_report  
    ADD TARGET package0.ring_buffer  
    (  
        SET max_memory = 2048, max_events_limit = 10  
    )  
    WITH (STARTUP_STATE = ON,  
          EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS);  
  
ALTER EVENT SESSION azure_monitor_deadlock_session  
    ON DATABASE  
    STATE = START;  

Controllo di un DeadlockCheck for Deadlock

Usare la query seguente per verificare se è presente un deadlock.Use the following query to check if there is a deadlock.

WITH CTE AS (  
    SELECT CAST(xet.target_data AS XML)  AS [target_data_XML]  
        FROM            sys.dm_xe_database_session_targets AS xet  
             INNER JOIN sys.dm_xe_database_sessions        AS xe  
                 ON (xe.address = xet.event_session_address)  
        WHERE xe.name = 'azure_monitor_deadlock_session'  
)  
, CTE2 AS (  
    SELECT  
            T2.EventData.query('.').value(  
                '(/event/@timestamp)[1]', 'DateTime2') AS Timestamp,  
            T2.EventData.query('.').query(  
                '(/event/data/value/deadlock)[1]')     AS deadlock_xml  
        FROM CTE  
            CROSS Apply [target_data_XML].nodes(  
                '/RingBufferTarget/event') AS T2(EventData)  
)  
SELECT * FROM CTE2;  

Vedere ancheSee Also

Eventi estesi nel database SQL di AzureExtended events in Azure SQL Database