Partager via


sys.event_log (Azure SQL Database)

S’applique à : Azure SQL Database

Retourne les connexions de base de données Azure SQL Database réussies et les échecs de connexion. Utilisez ces informations pour suivre ou détecter un problème de l'activité de base de données.

Attention

Pour les serveurs logiques avec un grand nombre de bases de données et/ou un nombre élevé de connexions, l’interrogation de sys.event_log peut entraîner une utilisation élevée des ressources dans la base de données master, ce qui peut entraîner des échecs de connexion. Pour réduire l’impact de ce problème, limitez les requêtes de sys.event_log.

La vue sys.event_log contient les colonnes suivantes.

Nom de la colonne Type de données Description
database_name sysname Nom de la base de données. Si la connexion échoue et l'utilisateur n'a pas spécifié de nom de la base de données, cette colonne est vide.
heure-début datetime2 Date et heure UTC indiquant le début de l'intervalle d'agrégation. Pour les événements agrégés, l'heure est toujours un multiple de 5 minutes. Par exemple :

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
heure-fin datetime2 Date et heure UTC indiquant la fin de l'intervalle d'agrégation. Pour les événements agrégés, End_time est toujours 5 minutes plus tard que le start_time correspondant dans la même ligne. Pour les événements qui ne sont pas agrégés, start_time et end_time égaux à la date et à l’heure UTC réelles de l’événement.
event_category nvarchar(64) Composant de niveau supérieur qui a généré cet événement.

Consultez Types d’événements pour obtenir la liste des valeurs possibles.
event_type nvarchar(64) le type d’événement ;

Consultez Types d’événements pour obtenir la liste des valeurs possibles.
event_subtype int Sous-type de l'événement.

Consultez Types d’événements pour obtenir la liste des valeurs possibles.
event_subtype_desc nvarchar(64) Description du sous-type d'événement.

Consultez Types d’événements pour obtenir la liste des valeurs possibles.
severity int Gravité de l'erreur . Les valeurs possibles sont les suivantes :

0 = Information
1 = Avertissement
2 = Erreur
event_count int Nombre de fois où cet événement s’est produit pour la base de données spécifiée dans l’intervalle de temps spécifié (start_time et end_time).
description nvarchar(max) Description détaillée de l'événement.

Consultez Types d’événements pour obtenir la liste des valeurs possibles.
additional_data XML Cette colonne n’est pas utilisée et est conservée pour la compatibilité descendante.

Types d’événement

Les événements enregistrés par chaque ligne de cette vue sont identifiés par une catégorie (event_category), un type d’événement (event_type) et un sous-type (event_subtype). Le tableau suivant répertorie les types d'événements regroupés dans cette vue.

Pour les événements de la catégorie de connectivité , les informations récapitulatives sont disponibles dans la vue sys.database_connection_stats.

Remarque

Cette vue n’inclut pas tous les événements de base de données SQL Database possibles qui peuvent se produire, uniquement ceux répertoriés ici. Des catégories supplémentaires, des types d’événements et des sous-types peuvent être ajoutés dans les futures versions de SQL Database.

event_category event_type event_subtype event_subtype_desc severity description
Connectivité connection_successful 0 connection_successful 0 Connexion à la base de données réussie.
Connectivité connection_failed 0 invalid_login_name 2 Le nom de connexion n'est pas valide dans cette version de SQL Server.
Connectivité connection_failed 1 windows_auth_not_supported 2 Les identifiants de connexion Windows ne sont pas pris en charge dans cette version de SQL Server.
Connectivité connection_failed 2 attach_db_not_supported 2 L’utilisateur a demandé à joindre un fichier de base de données, qui n’est pas pris en charge.
Connectivité connection_failed 3 change_password_not_supported 2 L'utilisateur a demandé la modification du passe de connexion qui n'est pas prise en charge.
Connectivité connection_failed 4 login_failed_for_user 2 Échec de la connexion de l'utilisateur .
Connectivité connection_failed 5 login_disabled 2 Connexion désactivée.
Connectivité connection_failed 7 blocked_by_firewall 2 L'adresse IP du client n'est pas autorisée à accéder au serveur.

autorisations

Les utilisateurs disposant de l’autorisation d’accéder à la base de données master sur le serveur logique dans Azure SQL Database disposent d’un accès en lecture seule à cette vue.

Notes

Agrégation des événements

Les informations relatives aux événements de cette vue sont collectées et agrégées par intervalles de 5 minutes. La colonne event_count représente le nombre de fois où une event_type particulière et event_subtype s’est produite pour une base de données spécifique dans un intervalle de temps donné.

Remarque

Certains événements, comme les blocages, ne sont pas agrégés. Pour ces événements, event_count a la valeur 1 et start_time et end_time correspond à la date et à l’heure UTC réelles de l’événement.

Par exemple, si un utilisateur ne parvient pas à se connecter à la base de données Database1, en raison d’un nom de connexion non valide, sept fois entre 11:00 et 11:05 le 30/30/2022 (UTC), ces informations sont disponibles dans une seule ligne dans cette vue :

database_name heure-début heure-fin 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

Heure de début (start_time) et heure de fin (end_time) de l'intervalle

Un événement est inclus dans un intervalle d’agrégation lorsque l’événement se produit sur ou après start_time et avant end_time pour cet intervalle. Par exemple, un événement se produisant exactement à 2022-03-30 19:25:00.0000000 est inclus uniquement dans le deuxième intervalle indiqué ci-dessous :

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  

Mises à jour des données

Les données de cette vue sont cumulées au fil du temps. Généralement, les données sont cumulées pendant une heure à compter du début de l'intervalle d'agrégation, mais cela peut prendre jusqu'à 24 heures avant que toutes les données apparaissent dans la vue. Pendant ce temps, les informations d'une seule ligne peuvent être mises à jour périodiquement.

Conservation des données

Les données de cette vue sont conservées pendant un maximum de 30 jours, ou éventuellement moins selon le nombre de bases de données et le nombre d’événements uniques générés par chaque base de données. Pour conserver ces informations plus longtemps, copiez les données dans une base de données distincte. Une fois que vous avez effectué une copie initiale de la vue, les lignes de la vue peuvent être mises à jour au fur et à mesure que les données sont cumulées. Pour tenir à jour votre copie des données, effectuez périodiquement une analyse des lignes de la table pour détecter une augmentation du nombre d'événements dans les lignes existantes et pour identifier les nouvelles lignes (vous pouvez identifier les lignes qui sont uniques à l'aide des heures de début et de fin), puis mettez à jour votre copie des données en fonction de ces modifications.

Erreurs non incluses

Cette vue peut ne pas inclure toutes les informations de connexion et d'erreur :

  • Cette vue n’inclut pas toutes les erreurs de base de données SQL Database qui peuvent se produire, uniquement celles spécifiées dans les types d’événements de cet article.
  • En cas de défaillance de machine dans le centre de données SQL Database, une petite quantité de données peut être manquante dans la table d’événements.
  • Si une adresse IP a été bloquée par DoSGuard, les événements de tentative de connexion à partir de cette adresse IP ne peuvent pas être collectés et n'apparaitront pas dans cette vue.

Exemples

Connectez-vous à la base de données master sur le serveur logique dans Azure SQL Database pour exécuter les requêtes Transact-SQL suivantes.

Interroger la vue sys.event_log

La requête suivante retourne tous les événements qui se sont produits entre midi le 25 mars 2022 et midi le 30 mars 2022 (UTC). Par défaut, les résultats de la requête sont triés par start_time (ordre croissant).

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';  

Échecs de connexion aux requêtes pour les utilisateurs

La requête suivante retourne les échecs de connexion qui ont échoué pour les utilisateurs qui se sont produits entre 10:00 et 11:00 le 25 mars 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';  

Étapes suivantes

En savoir plus sur Azure SQL Database dans les articles suivants :