sys.event_log (Azure SQL Database)

S’applique à :Azure SQL Database

Retourne les connexions et les échecs de connexion Azure SQL base de données de base de données. 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 exactement 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.

Pour une liste des valeurs possibles, consultez Types d'événements.
event_type nvarchar(64) Type de l'événement.

Pour une liste des valeurs possibles, consultez Types d'événements.
event_subtype int Sous-type de l'événement.

Pour une liste des valeurs possibles, consultez Types d'événements.
event_subtype_desc nvarchar(64) Description du sous-type d'événement.

Pour une liste des valeurs possibles, consultez Types d'événements.
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.

Pour une liste des valeurs possibles, consultez Types d'événements.
additional_data XML Cette colonne n’est pas utilisée et est conservée à des fins de compatibilité descendante.

Types d’événements

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 connectivité , des informations récapitulatives sont disponibles dans la vue sys.database_connection_stats.

Notes

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, des types d’événements et des sous-types supplémentaires peuvent être ajoutés dans les versions ultérieures 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, ce 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 pour 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 autorisés à accéder à la base de données master sur le serveur logique dans Azure SQL Base de données ont 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ù un event_type particulier et event_subtype se sont produits pour une base de données spécifique dans un intervalle de temps donné.

Notes

Certains événements, comme les blocages, ne sont pas agrégés. Pour ces événements, event_count sera 1 et start_time et end_time correspondra à la date et à l’heure UTC réelles auxquelles l’événement s’est produit.

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/03/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 quand l’événement se produit lestart_time ou après et avantend_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, voire 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, mais uniquement celles spécifiées dans Types d’événements dans cet article.
  • En cas de défaillance de l’ordinateur 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 de requête pour les utilisateurs

La requête suivante retourne les échecs de connexion qui sont des échecs de connexion 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

Pour en savoir plus sur Azure SQL Database, consultez les articles suivants :