sys.event_log (Azure SQL Database)
Se aplica a: Azure SQL Database
Devuelve errores de conexión y conexione de base de datos de Azure SQL Database correctos. Puede utilizar esta información para realizar el seguimiento de la actividad de las bases de datos o solucionar problemas.
Precaución
En el caso de los servidores lógicos con un gran número de bases de datos o un gran número de inicios de sesión, la consulta de sys.event_log puede provocar un uso elevado de recursos en la base de datos maestra, lo que puede dar lugar a errores de inicio de sesión. Para reducir el impacto de este problema, limite las consultas de sys.event_log.
La vista sys.event_log
contiene las siguientes columnas.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
database_name | sysname | Nombre de la base de datos. Si la conexión no se realiza correctamente y el usuario no especificó un nombre de base de datos, esta columna está en blanco. |
start_time | datetime2 | Fecha y hora UTC del inicio del intervalo de agregación. Para los eventos de agregado, la hora es siempre un múltiplo de 5 minutos. Por ejemplo: '2022-03-30 16:00:00' '2022-03-30 16:05:00' '2022-03-30 16:10:00' |
end_time | datetime2 | Fecha y hora UTC del final del intervalo de agregación. En el caso de los eventos agregados, End_time siempre es exactamente 5 minutos más tarde que el start_time correspondiente en la misma fila. 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. |
event_category | nvarchar (64) | Componente de nivel superior que generó este evento. Consulte Tipos de eventos para obtener una lista de los valores posibles. |
event_type | nvarchar (64) | El tipo de evento. Consulte Tipos de eventos para obtener una lista de los valores posibles. |
event_subtype | int | Subtipo del evento que se está produciendo. Consulte Tipos de eventos para obtener una lista de los valores posibles. |
event_subtype_desc | nvarchar (64) | Descripción del subtipo de evento. Consulte Tipos de eventos para obtener una lista de los valores posibles. |
severity | int | La gravedad del error de . Los valores posibles son: 0 = Información 1 = advertencia 2 = error |
event_count | int | Número de veces que se produjo este evento para la base de datos especificada dentro del intervalo de tiempo especificado (start_time y end_time). |
descripción | nvarchar(max) | Descripción detallada del evento. Consulte Tipos de eventos para obtener una lista de los valores posibles. |
additional_data | XML | Esta columna no se usa y se conserva para la compatibilidad con versiones anteriores. |
Tipos de evento
Los eventos registrados por cada fila de esta vista se identifican mediante una categoría (event_category), un tipo de evento (event_type) y un subtipo (event_subtype). En la tabla siguiente se muestra una lista de los tipos de eventos que se recopilan en esta vista:
En el caso de los eventos de la categoría de conectividad , la información de resumen está disponible en la vista sys.database_connection_stats.
Nota:
Esta vista no incluye todos los eventos posibles de base de datos de SQL Database que pueden producirse, solo los enumerados aquí. Se pueden agregar categorías, tipos de eventos y subtipos adicionales en futuras versiones de SQL Database.
event_category | event_type | event_subtype | event_subtype_desc | severity | descripción |
---|---|---|---|---|---|
Conectividad | connection_successful | 0 | connection_successful | 0 | Conectado correctamente a la base de datos. |
Conectividad | connection_failed | 0 | invalid_login_name | 2 | El nombre de inicio de sesión no es válido en esta versión de SQL Server. |
Conectividad | connection_failed | 1 | windows_auth_not_supported | 2 | Los inicios de sesión de Windows no se admiten en esta versión de SQL Server. |
Conectividad | connection_failed | 2 | attach_db_not_supported | 2 | El usuario solicitó adjuntar un archivo de base de datos, que no se admite. |
Conectividad | connection_failed | 3 | change_password_not_supported | 2 | El usuario solicitó cambiar la contraseña del usuario que inicia sesión, lo que no se admite. |
Conectividad | connection_failed | 4 | login_failed_for_user | 2 | Error de inicio de sesión del usuario . |
Conectividad | connection_failed | 5 | login_disabled | 2 | El inicio de sesión se deshabilitó. |
Conectividad | connection_failed | 7 | blocked_by_firewall | 2 | No se permite que la dirección IP del cliente tenga acceso al servidor. |
Permisos
Los usuarios con permiso para acceder a la base de datos maestra en el servidor lógico de Azure SQL Database tienen acceso de solo lectura a esta vista.
Comentarios
Agregación de datos
La información de eventos de esta vista se recopila y se agrega a intervalos de 5 minutos. La columna event_count representa el número de veces que se produjo un event_type determinado y event_subtype para una base de datos específica dentro de un intervalo de tiempo determinado.
Nota:
Algunos eventos, como los interbloqueos, no se agregan. Para estos eventos, event_count serán 1 y start_time y end_time serán iguales a la fecha y hora UTC reales en que se produjo el evento.
Por ejemplo, si un usuario no puede conectarse a la base de datos Database1, debido a un nombre de inicio de sesión no válido, siete veces entre las 11:00 y las 11:05 del 30/30/2022 (UTC), esta información está disponible en una sola fila en esta vista:
database_name | start_time | end_time | event_category | event_type | event_subtype | event_subtype_desc | severity | event_count | descripción | 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 y end_time de intervalo
Un evento se incluye en un intervalo de agregación cuando el evento se produce en o después de start_time y antes de end_time para ese intervalo. Por ejemplo, un evento que ocurra exactamente el 2022-03-30 19:25:00.0000000
solo se incluiría en el segundo intervalo que se muestra a continuación:
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
Actualizaciones de datos
Los datos de esta vista se acumulan a lo largo del tiempo. 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. Durante ese tiempo, la información de una sola fila puede actualizarse de forma periódica.
Retención de datos
Los datos de esta vista se conservan durante un máximo de 30 días, o posiblemente menos en función del número de bases de datos y del número de eventos únicos que genera cada base de datos. Para conservar esta información durante más tiempo, copie los datos en una base de datos independiente. Una vez realizada una copia inicial de la vista, las filas de esta pueden actualizarse a medida que se acumulan datos. 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.
Errores no incluidos
Esta vista puede no incluir toda la información de conexión y de error:
- Esta vista no incluye todos los errores de base de datos de SQL Database que podrían producirse, solo los especificados en Tipos de eventos de este artículo.
- Si hay un error de máquina en el centro de datos de SQL Database, es posible que falte una pequeña cantidad de datos en la tabla de eventos.
- 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.
Ejemplos
Conéctese a la base de datos maestra en el servidor lógico de Azure SQL Database para ejecutar las siguientes consultas de Transact-SQL.
Consulta de la vista de sys.event_log
La consulta siguiente devuelve todos los eventos que se produjeron entre el mediodía del 25 de marzo de 2022 y el mediodía del 30 de marzo de 2022 (UTC). De forma predeterminada, los resultados de la consulta se ordenan por start_time (orden ascendente).
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';
Errores de inicio de sesión de consulta para usuarios
La consulta siguiente devuelve errores de conexión que son inicios de sesión erróneos para los usuarios que se produjeron entre las 10:00 y las 11:00 el 25 de marzo de 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';
Pasos siguientes
Obtenga más información sobre Azure SQL Database en estos artículos:
- Eventos extendidos en Base de datos SQL de Azure
- Vistas de catálogo de Azure SQL Database
- sys.database_connection_stats (Azure SQL Database)
- Solución de problemas de conectividad y otros errores con Azure SQL Database y Azure SQL Managed Instance
- Solución de problemas de errores de conexión transitorios en SQL Database e Instancia administrada de SQL