Surveiller les requêtes T-SQL (aperçu)

S’applique à :✅ point de terminaison pour les analyses SQL et entrepôt de données dans Microsoft Fabric

Important

Cette fonctionnalité est en version préliminaire.

Utilisez Data Warehouse Monitor pour afficher les requêtes T-SQL en cours d’exécution et historiques, les requêtes longues et fréquemment exécuter des requêtes sans exécuter de code T-SQL. Intégré au portail Fabric, vous pouvez utiliser Data Warehouse Monitor pour vérifier que les requêtes se terminent correctement, analysent les modèles d’exécution et examinent en détail les exécutions de requêtes plus lentes.

Data Warehouse Monitor a été précédemment nommé « Activité de requêtes ».

Prerequisites

  • Vous devez être administrateur dans votre espace de travail pour accéder à Data Warehouse Monitor. Les membres, les contributeurs et les visionneuses n’ont pas l’autorisation d’accéder à cette vue.

Get started

Vous pouvez lancer l’expérience Data Warehouse Monitor de deux manières.

  • Sélectionnez Autres options (...) en regard de l’entrepôt que vous souhaitez surveiller dans l’affichage de l’espace de travail, puis sélectionnez Surveiller.

    Capture d’écran du point d’entrée Monitor à partir du menu contextuel de l’espace de travail.

  • Dans l’éditeur de requête de l’entrepôt que vous souhaitez surveiller, sélectionnez Surveiller dans le ruban.

    Capture d’écran du point d’entrée Monitor à partir du ruban.

Historique des requêtes

Dans la page Historique des requêtes, vous pouvez passer en revue les exécutions de requêtes récentes et identifier les modèles dans l’activité de l’entrepôt. Cette vue combine un graphique de nombre de requêtes avec une grille de résultats détaillée afin de pouvoir passer d’une tendance générale à une exécution de requête spécifique.

  • Utilisez le graphique de nombre de requêtes pour repérer les pics d’activité pendant l’intervalle de temps sélectionné.
  • Utilisez le menu Filtre pour affiner l’affichage par heure d’envoi (UTC),État, Envoyé par, Exécuter la source, le type d’instruction et l’étiquette.
  • Utilisez la barre de recherche pour rechercher des mots clés spécifiques dans le texte de la requête ou d’autres colonnes.
  • Utilisez le filtre d’heure pour basculer rapidement entre les 24 dernières heures, les 7 derniers jours, les 30 derniers jours ou un intervalle de temps personnalisé.
  • Passez en revue les filtres actifs sous forme d’étiquettes amovibles au-dessus de la zone du graphique. Lorsque vous appliquez ou supprimez des filtres, Monitor actualise le graphique et la grille de requête pour qu’ils correspondent au jeu de filtres actuel.
  • Sélectionnez Actualiser pour recharger les résultats actuels. Si vous voyez une requête que vous souhaitez arrêter, activez la requête à l’aide de la case à cocher, puis sélectionnez Annuler. Vous êtes invité à confirmer avant l’annulation de la requête. Toutes les requêtes non sélectionnées qui font partie des mêmes sessions SQL que celles que vous avez sélectionnées sont également annulées.

Note

Actuellement, les filtres appliqués dans l’expérience de surveillance peuvent ne pas être synchronisés entre le graphique et la grille de données. Pour afficher les résultats cohérents, utilisez l’option d’actualisation pour recharger les données.

Capture d’écran de la boîte de dialogue Annuler l’historique des requêtes.

  • Lorsque vous sélectionnez une ou plusieurs exécutions de requête qui partagent le même hachage de requête, l’affichage des exécutions similaires devient disponible. Utilisez cette option pour comparer les exécutions du même modèle de requête et comprendre si la durée, les échecs ou l’utilisation des ressources ont changé entre les exécutions.

Capture d’écran de l'affichage Historique des requêtes pour des exécutions similaires.

Le graphique est mis à jour pour refléter la sélection actuelle du filtre, ce qui facilite la réponse aux questions telles que :

  • Quand le volume de requêtes a-t-il augmenté ?
  • Quelle source d’envoi ou d’exécution est associée à un pic d’activité ?
  • Les requêtes ayant échoué ou annulée sont-elles concentrées dans une fenêtre de temps spécifique ?

Vous pouvez également personnaliser la disposition du tableau à partir du menu colonne :

  • Choisissez les colonnes qui apparaissent dans la grille de données.
  • Faites glisser des éléments dans le menu de colonne pour les réorganiser.
  • Sélectionnez Appliquer pour mettre à jour la grille pour qu’elle corresponde à l’ordre de colonne sélectionné.

Pour chaque requête, les détails suivants sont disponibles dans la grille de l’historique des requêtes . Certaines colonnes peuvent être masquées par défaut et peuvent être ajoutées à partir des options de colonne.

Nom de la colonne Description
ID de déclaration distribuée ID unique pour chaque requête
Texte de requête Texte de la requête exécutée
Hachage de requête Valeur de hachage pour la forme de requête qui vous aide à identifier une logique de requête similaire entre les exécutions
État État de la requête : Réussite, Échec ou Annulation
Soumis par Nom de l’utilisateur ou du système qui a envoyé la requête
Heure d’envoi (UTC) Horodatage lorsque la requête est arrivée
Durée Durée totale de fin de la requête
Exécuter source Nom du programme client qui a lancé la session
Temps processeur Temps processeur total alloué pour l’exécution de la requête
Données analysées à distance Quantité de données lues à partir du stockage distant dans OneLake
Données analysées sur le disque Quantité de données lues à partir du disque local
Données analysées dans le cache Quantité de données lues à partir du cache de mémoire locale
ID de session ID liant la requête à une session utilisateur spécifique
Étiquette Étiquette facultative associée à la requête, lorsqu’une étiquette a été fournie
Type de déclaration. Type d’instruction SQL exécutée, telle que SELECT, INSERT, UPDATE ou DELETE
Nombre de lignes Nombre de lignes retournées par la requête
ID de lot ID d’un ensemble groupé de requêtes, le cas échéant
ID de connexion Identificateur de la connexion utilisée par la requête
Nom de la base de données Nom de l'entrepôt ou du point de terminaison d'analyse SQL connecté au moment de l'exécution
Heure de fin Horodatage lorsque l’exécution de la requête s’est terminée
Est distribué Indique si la requête s’est exécutée en tant qu’opération distribuée : 1 pour oui, 0 pour non
Hit du cache de résultats État du cache du jeu de résultats pour la requête : 2 signifie que le cache a été atteint, 1 signifie que le cache a été créé et 0 signifie que la mise en cache du jeu de résultats n’a pas été appliquée.
ID de lot principal ID du lot de niveau supérieur lorsque les requêtes font partie d’un lot imbriqué
Nom du pool SQL Nom du pool SQL utilisé pour exécuter la requête
Code d’erreur Code d’erreur retourné pour l’exécution de la requête lorsqu’un échec est signalé

Les mêmes informations concernant l’exécution de requêtes sont également disponibles à l’aide de vues de gestion dynamique et de vues Query Insights, par exemple , queryinsights.exec_requests_history.

Analyse des requêtes

Les autres onglets Moniteur vous aident à passer de l’historique à l’analyse résumée :

  • Les requêtes longues vous aident à identifier les requêtes avec des temps d’exécution plus élevés de manière cohérente.
  • Les requêtes fréquemment exécutées vous aident à trouver des modèles de requête répétés qui peuvent tirer parti du réglage.

Pour chaque requête dans l’aperçu Long running queries, les détails suivants sont fournis :

Nom de la colonne Description
Texte de requête Texte de la requête exécutée
Durée médiane d’exécution Temps d’exécution de requête médian (ms) entre les exécutions
Nombre d’exécutions Nombre total de fois où la requête a été exécutée
Durée de la dernière exécution Temps de la dernière exécution (ms)
ID de la dernière exécution de l’instruction distribuée ID unique pour la dernière exécution de la requête
ID de session de la dernière exécution ID de session pour la dernière exécution

Pour chaque requête dans l’insight des requêtes fréquemment exécutées, les détails suivants sont fournis :

Nom de la colonne Description
Texte de requête Texte de la requête exécutée
Durée moyenne d’exécution Durée moyenne d’exécution des requêtes (ms) entre les exécutions
Durée maximale Temps d’exécution de requête le plus long (ms)
Durée minimale Durée d’exécution de requête la plus courte (ms)
ID de la dernière exécution de l’instruction distribuée ID unique pour la dernière exécution de la requête
Nombre d’exécutions Nombre total de fois où la requête a été exécutée
Nombre d’exécutions réussies Nombre d’exécutions de requêtes réussies
Nombre d’exécutions ayant échoué Nombre d’exécutions de requêtes ayant échoué
Nombre d’exécutions annulées Nombre d’exécutions de requêtes annulées

Pour obtenir la valeur la plus élevée à partir de ces vues :

  • Démarrez dans l’historique des requêtes pour identifier l’intervalle de temps, l’expéditeur ou la source d'exécution que vous souhaitez examiner.
  • Utilisez Afficher des exécutions similaires pour comparer les exécutions qui partagent le même hachage de requête.
  • Passez aux requêtes longues pour identifier les modèles de requête avec une durée médiane élevée.
  • Passez en revue les requêtes fréquemment exécutées pour rechercher des formes de requête à volume élevé qui sont de bons candidats au réglage.

Les mêmes informations concernant les requêtes terminées, ayant échoué et annulées à partir de l’historique des requêtes, ainsi que les informations agrégées, sont également disponibles dans Query Insights dans l'entreposage de données Fabric.

Limitations

  • Selon la charge de travail simultanée, les requêtes historiques peuvent prendre jusqu’à 15 minutes pour apparaître dans Monitor.
  • Le moniteur affiche uniquement les 10 000 premières lignes pour les sélections de filtres actuelles. Pour réduire le jeu de résultats, limitez l’intervalle de temps ou ajoutez des filtres.
  • Si vous ouvrez Monitor immédiatement après avoir créé un entrepôt, une erreur peut s’afficher Invalid object name queryinsights.exec_requests_history . Cette erreur se produit car les vues système sous-jacentes ne sont pas encore générées. Pour contourner ce problème, attendez deux minutes, puis actualisez la page.