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

SE APLICA A: NoSQL Server SíAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoAlmacenamiento de datos paralelos APPLIES TO: NoSQL Server YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Devuelve Azure SQL DatabaseAzure SQL Database las conexiones de base de datos, los errores de conexión y los interbloqueos correctos.Returns successful Azure SQL DatabaseAzure SQL Database database connections, connection failures, and deadlocks. Puede utilizar esta información para realizar el seguimiento de la actividad de la base de datos o solucionar problemas relacionados con esta mediante SQL DatabaseSQL Database.You can use this information to track or troubleshoot your database activity with SQL DatabaseSQL Database.

Precaución

En el caso de las instalaciones que tienen un gran número de bases de datos o un gran número de inicios de sesión, la actividad en sys. event_log puede producir limitaciones en el rendimiento, un uso intensivo de la CPU y, posiblemente, errores de inicio de sesión.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. Las consultas de sys. event_log pueden contribuir al problema.Queries of sys.event_log can contribute to the problem. Microsoft está trabajando para resolver este problema.Microsoft is working to resolve this issue. Mientras tanto, para reducir el impacto de este problema, limite las consultas de sys. event_log.In the meantime, to reduce the impact of this issue, limit queries of sys.event_log. Los usuarios del complemento NewRelic SQL Server deben visitar Microsoft Azure SQL Database ajuste del complemento & los ajustes de rendimiento de la información de configuración adicional.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 las siguientes columnas.The sys.event_log view contains the following columns.

Nombre de columnaColumn Name Tipo de datosData Type DescripciónDescription
database_namedatabase_name sysnamesysname Nombre de la base de datos.Name of the database. Si la conexión no se realiza correctamente y el usuario no especificó un nombre de base de datos, esta columna está en blanco.If the connection fails and the user did not specify a database name, then this column is blank.
start_timestart_time datetime2datetime2 Fecha y hora UTC del inicio del intervalo de agregación.UTC date and time of the start of the aggregation interval. Para los eventos de agregado, la hora es siempre un múltiplo de 5 minutos.For aggregated events, the time is always a multiple of 5 minutes. Por ejemplo:For example:

'2011-09-28 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 Fecha y hora UTC del final del intervalo de agregación.UTC date and time of the end of the aggregation interval. En el caso de los eventos agregados, End_time siempre es exactamente 5 minutos después de la start_time correspondiente de la misma fila.For aggregated events, End_time is always exactly 5 minutes later than the corresponding start_time in the same row. En el caso de los eventos que no se agregan, start_time y end_time igual a la fecha y hora UTC reales del 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 de nivel superior que generó este evento.The high-level component that generated this event.

Vea tipos de evento para obtener una lista de valores posibles.See Event Types for a list of possible values.
event_typeevent_type nvarchar (64)nvarchar(64) Tipo del evento.The type of event.

Vea tipos de evento para obtener una lista de valores posibles.See Event Types for a list of possible values.
event_subtypeevent_subtype intint Subtipo del evento que se está produciendo.The subtype of the occurring event.

Vea tipos de evento para obtener una lista de valores posibles.See Event Types for a list of possible values.
event_subtype_descevent_subtype_desc nvarchar (64)nvarchar(64) Descripción del subtipo de evento.The description of the event subtype.

Vea tipos de evento para obtener una lista de valores posibles.See Event Types for a list of possible values.
severityseverity intint Gravedad del error.The severity of the error. Los valores posibles son:Possible values are:

0 = Información0 = Information
1 = Advertencia1 = Warning
2 = Error2 = Error
event_countevent_count intint Número de veces que se ha producido este evento en la base de datos especificada dentro del intervalo de tiempo especificado (start_time y end_time).The number of times that this event occurred for the specified database within the time interval specified (start_time and end_time).
denominacióndescription nvarchar(max)nvarchar(max) Descripción detallada del evento.A detailed description of the event.

Vea tipos de evento para obtener una lista de valores posibles.See Event Types for a list of possible values.
additional_dataadditional_data XMLXML Nota: este valor siempre es NULL para Azure SQL Database V12. Vea la sección ejemplos para obtener más sobre cómo recuperar eventos de interbloqueo para V12.Note: This value is always NULL for Azure SQL Database V12. See examples section for how to retrieve deadlock events for V12.

En el caso de eventos de interbloqueo , esta columna contiene el grafo de interbloqueo.For Deadlock events, this column contains the deadlock graph. Esta columna es NULL para otros tipos de eventos.This column is NULL for other event types.

Tipos de eventoEvent Types

Los eventos registrados en cada fila de esta vista se identifican mediante una categoría (event_category), un tipo de evento (event_type) y un subtipo (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). En la tabla siguiente se muestra una lista de los tipos de eventos que se recopilan en esta vista:The following table lists the types of events that are collected in this view.

En el caso de los eventos de la categoría Conectividad , la información de resumen está disponible en la vista sys. database_connection_stats.For events in the connectivity category, summary information is available in the sys.database_connection_stats view.

Nota

Esta vista no incluye todos los posibles errores de base de datos de SQL DatabaseSQL Database que pueden producirse, solo los mostrados aquí.This view does not include all possible SQL DatabaseSQL Database database events that can occur, only those listed here. Es posible que en futuras versiones de SQL DatabaseSQL Database se agreguen categorías, tipos de evento y subtipos adicionales.Additional categories, event types, and subtypes may be added in future releases of SQL DatabaseSQL Database.

event_categoryevent_category event_typeevent_type event_subtypeevent_subtype event_subtype_descevent_subtype_desc severityseverity denominacióndescription
Conectividadconnectivity connection_successfulconnection_successful 00 connection_successfulconnection_successful 00 Conectado correctamente a la base de datos.Connected successfully to database.
Conectividadconnectivity connection_failedconnection_failed 00 invalid_login_nameinvalid_login_name 22 El nombre de inicio de sesión no es válido en esta versión de SQL Server.Login name is not valid in this version of SQL Server.
Conectividadconnectivity connection_failedconnection_failed 11 windows_auth_not_supportedwindows_auth_not_supported 22 Los inicios de sesión de Windows no se admiten en esta versión de SQL Server.Windows logins are not supported in this version of SQL Server.
Conectividadconnectivity connection_failedconnection_failed 22 attach_db_not_supportedattach_db_not_supported 22 El usuario solicitó adjuntar un archivo de base de datos que no se admite.User requested to attach a database file which is not supported.
Conectividadconnectivity connection_failedconnection_failed 33 change_password_not_supportedchange_password_not_supported 22 El usuario solicitó cambiar la contraseña del usuario que inicia sesión, lo que no se admite.User requested to change the password of the user logging in which is not supported.
Conectividadconnectivity connection_failedconnection_failed 44 login_failed_for_userlogin_failed_for_user 22 Error de inicio de sesión del usuario.Login failed for user.
Conectividadconnectivity connection_failedconnection_failed 55 login_disabledlogin_disabled 22 El inicio de sesión se deshabilitó.The login was disabled.
Conectividadconnectivity connection_failedconnection_failed 66 failed_to_open_dbfailed_to_open_db 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

No se pudo abrir la base de datos.Database could not be opened. Puede ser debido a que la base de datos no existe o a una falta de autenticación para abrirla.May be caused because database does not exist or lack of authentication to open the database.
Conectividadconnectivity connection_failedconnection_failed 77 blocked_by_firewallblocked_by_firewall 22 No se permite que la dirección IP del cliente tenga acceso al servidor.Client IP address is not allowed to access the server.
Conectividadconnectivity connection_failedconnection_failed 88 client_closeclient_close 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

Es posible que el cliente haya agotado el tiempo de espera al establecer la conexión.Client may have timed out when establishing connection. Intente aumentar el tiempo de espera de la conexión.Try increasing the connection timeout.
Conectividadconnectivity connection_failedconnection_failed 99 reconfiguraciónreconfiguration 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

Error de conexión debido a que la base de datos se estaba reconfigurando en ese momento.Connection failed because the database was going through a reconfiguration at the time.
Conectividadconnectivity connection_terminatedconnection_terminated 00 idle_connection_timeoutidle_connection_timeout 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La conexión ha estado inactiva durante más tiempo que el umbral definido por el sistema.Connection has been idle for longer than system defined threshold.
Conectividadconnectivity connection_terminatedconnection_terminated 11 reconfiguraciónreconfiguration 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión se ha terminado debido a una reconfiguración de la base de datos.The session has been terminated due to a database reconfiguration.
Conectividadconnectivity limitaciónthrottling <código de motivo><reason code> reason_codereason_code 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

Solicitud limitada.Request is throttled. Código de motivo de la limitación: * <>de código de motivo *.Throttling reason code: <reason code>. Para obtener más información, consulte limitación del motor.For more information, see Engine Throttling.
Conectividadconnectivity throttling_long_transactionthrottling_long_transaction 4054940549 long_transactionlong_transaction 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión terminó porque tiene una transacción de larga duración.Session is terminated because you have a long-running transaction. Intente reducir la transacción.Try shortening your transaction. Para obtener más información, consulte límites de recursos.For more information, see Resource Limits.
Conectividadconnectivity throttling_long_transactionthrottling_long_transaction 4055040550 excessive_lock_usageexcessive_lock_usage 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión ha terminado porque ha adquirido demasiados bloqueos.The session has been terminated because it has acquired too many locks. Intente leer o modificar menos filas en una sola transacción.Try reading or modifying fewer rows in a single transaction. Para obtener más información, consulte límites de recursos.For more information, see Resource Limits.
Conectividadconnectivity throttling_long_transactionthrottling_long_transaction 4055140551 excessive_tempdb_usageexcessive_tempdb_usage 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión ha terminado debido al uso excesivo de TEMPDB.The session has been terminated because of excessive TEMPDB usage. Intente modificar la consulta para reducir el uso de espacio de la tabla temporal.Try modifying your query to reduce the temporary table space usage. Para obtener más información, consulte límites de recursos.For more information, see Resource Limits.
Conectividadconnectivity throttling_long_transactionthrottling_long_transaction 4055240552 excessive_log_space_usageexcessive_log_space_usage 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión ha terminado debido al excesivo uso de espacio del registro de transacciones.The session has been terminated because of excessive transaction log space usage. Intente modificar menos filas en una sola transacción.Try modifying fewer rows in a single transaction. Para obtener más información, consulte límites de recursos.For more information, see Resource Limits.
Conectividadconnectivity throttling_long_transactionthrottling_long_transaction 4055340553 excessive_memory_usageexcessive_memory_usage 22 Nota: solo se aplica a Azure SQL Database v11.Note: Applies only to Azure SQL Database V11.

La sesión ha terminado debido al uso excesivo de la memoria.The session has been terminated because of excessive memory usage. Intente modificar la consulta para procesar menos filas.Try modifying your query to process fewer rows. Para obtener más información, consulte límites de recursos.For more information, see Resource Limits.
motorengine deadlockdeadlock 00 deadlockdeadlock 22 Se ha producido un interbloqueo.Deadlock occurred.

PermisosPermissions

Los usuarios con permiso para tener acceso a la base de datos maestra tienen acceso de solo lectura a esta vista.Users with permission to access the master database have read-only access to this view.

ObservacionesRemarks

Agregación de eventosEvent Aggregation

La información de eventos de esta vista se recopila y se agrega a intervalos de 5 minutos.Event information for this view is collected and aggregated within 5-minute intervals. La columna event_count representa el número de veces que se ha producido un event_type determinado y event_subtype para una base de datos concreta dentro de un intervalo de tiempo determinado.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

Algunos eventos, como los interbloqueos, no se agregan.Some events, such as deadlocks, are not aggregated. Para estos eventos, event_count será 1 y start_time y end_time serán iguales a la fecha y hora UTC reales en que se produjo el 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.

Por ejemplo, si debido a que el nombre de inicio de sesión no es válido, un usuario intenta conectarse a la base de datos Database1 siete veces entre las 11:00 y las 11:05 el 5/2/2012 (UTC) y no lo consigue, esta información está disponible en una sola fila de esta 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 denominacióndescription 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 y end_time de intervaloInterval start_time and end_time

Se incluye un evento en un intervalo de agregación cuando el evento se produce en o _después_destart_time y _antes_deend_time para ese intervalo.An event is included in an aggregation interval when the event occurs on or afterstart_time and beforeend_time for that interval. Por ejemplo, un evento que ocurra exactamente el 2012-10-30 19:25:00.0000000 solo se incluiría en el segundo intervalo que se muestra a continuación: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  

Actualizaciones de datosData Updates

Los datos de esta vista se acumulan a lo largo del tiempo.Data in this view is accumulated over time. Normalmente, los datos se acumulan en la hora siguiente al inicio del intervalo de agregación, pero puede llevar hasta 24 horas que todos los datos aparezcan en la vista.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 ese tiempo, la información de una sola fila puede actualizarse de forma periódica.During that time, the information within a single row may be updated periodically.

Retención de datosData Retention

Los datos de esta vista se conservan durante un máximo de 30 días, o posiblemente menos, según el número de bases de datos y el número de eventos únicos que genera cada base de datos.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. Para conservar esta información durante más tiempo, copie los datos en una base de datos independiente.To retain this information for a longer period, copy the data to a separate database. Una vez realizada una copia inicial de la vista, las filas de esta pueden actualizarse a medida que se acumulan datos.After you make an initial copy of the view, the rows in the view may be updated as data is accumulated. Para mantener actualizada su copia de los datos, realice periódicamente una exploración de las filas de la tabla para ver si se ha producido un aumento del número de eventos de las filas existentes y para identificar nuevas filas (se pueden identificar filas únicas usando las horas de inicio y fin), después actualice su copia de los datos con esos cambios.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.

Errores no incluidosErrors Not Included

Esta vista puede no incluir toda la información de conexión y de error:This view may not include all connection and error information:

  • Esta vista no incluye todos los SQL DatabaseSQL Database errores de base de datos que podrían producirse, solo los especificados en los tipos de evento de este tema.This view does not include all SQL DatabaseSQL Database database errors that could occur, only those specified in Event Types in this topic.
  • Si se produce un error del equipo en el SQL DatabaseSQL Database centro de datos, es posible que falte una pequeña cantidad de datos en la tabla de eventos.If there is a machine failure within the SQL DatabaseSQL Database datacenter, a small amount of data may be missing from the event table.
  • Si se ha bloqueado una dirección IP a través de DoSGuard, los eventos de intento de conexión de esa dirección IP no pueden recopilarse y no aparecerán en esta 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.

EjemplosExamples

Ejemplos sencillosSimple examples

La siguiente consulta devuelve todos los eventos que se produjeron entre el mediodía del 25/9/2011 y el mediodía del 28/9/2011 (UTC).The following query returns all events that occurred between noon on 9/25/2011 and noon on 9/28/2011 (UTC). De forma predeterminada, los resultados de la consulta se ordenan por start_time (orden ascendente).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 siguiente consulta devuelve todos los eventos de interbloqueo para la base de datos Database1 (se aplica solo a Azure SQL Database 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 siguiente consulta devuelve todos los eventos de interbloqueo para la base de datos Database1 (se aplica solo a Azure SQL Database V12).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 siguiente consulta devuelve las limitaciones estrictas sobre los eventos de subprocesos de trabajo de SQL que se produjeron entre las 10:00 y las 11:00 del 25/9/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';  

Evento extendido de ámbito de base de BDDB-Scoped Extended Event

Use el siguiente código de ejemplo para configurar la sesión de eventos extendidos de ámbito de base de BD (XEvent):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;  

Comprobar el interbloqueoCheck for Deadlock

Utilice la siguiente consulta para comprobar si hay un interbloqueo.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;  

Consulte tambiénSee Also

Eventos extendidos en Azure SQL DatabaseExtended events in Azure SQL Database