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é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 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 :
- Événements étendus dans une base de données SQL Azure
- Affichages catalogue Azure SQL Database
- sys.database_connection_stats (Azure SQL Database)
- Résolution des problèmes de connectivité et autres erreurs avec Azure SQL Database et Azure SQL Managed Instance
- Résoudre les erreurs de connexion temporaires dans SQL Database et SQL Managed Instance