Database
 sql >> Base de données >  >> RDS >> Database

APERÇU :Extension SentryOne Plan Explorer pour Azure Data Studio

Mise à jour le 15 août 2019 pour 0.9.6.

L'année dernière, je me suis réuni avec l'une de mes équipes de développement ici - ils s'appellent eux-mêmes les injecteurs SQL - pour parler de la possibilité de répliquer la fonctionnalité SentryOne Plan Explorer dans Azure Data Studio. Après quelques discussions, nous avons présenté le concept à l'équipe de direction et mis un plan en marche.

Il y a eu quelques complications, comme vous pouvez l'imaginer; Plan Explorer est écrit à l'aide de technologies de bureau et ADS est un tout nouveau monde. Nous avons dû convertir tout notre code .NET Framework en .NET Core, changer notre code d'interface utilisateur en Node et React, et retravailler l'ensemble de la mise en œuvre du diagramme de plan. Je vais garder toute la trame de fond pour un autre article, car de nombreuses choses amusantes se sont produites en cours de route, et nous avons reçu beaucoup d'aide de la part de personnes formidables chez Microsoft - Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon et Vicky Harp, pour n'en nommer que quelques-uns. Pour l'instant, je veux me concentrer sur la façon dont vous avez mis la main sur l'aperçu, ce qu'il contient jusqu'à présent (y compris quelques captures d'écran) et les problèmes connus.

Comment l'obtenir

Pour accéder à l'extension Plan Explorer, vous devez créer un compte SentryOne Cloud gratuit et accepter notre CLUF. Le compte vous donne accès à notre forum d'assistance et nous pouvons vous tenir au courant des prochaines versions et des nouvelles fonctionnalités. Une fois que vous avez créé votre compte, rendez-vous sur extensions.sentryone.com, où vous devriez voir le lien suivant pour télécharger l'extension :

Cela vous donnera un fichier VSIX que vous devrez « charger latéralement » dans Azure Data Studio (Microsoft ne prend pas en charge l'hébergement complet des extensions tierces sur ADS Marketplace, comme c'est le cas avec VS Code).

Tout d'abord, assurez-vous que vous répondez à nos exigences :

  • Azure Data Studio 1.9.0 ou version ultérieure (publication d'annonce de juillet)
  • .NET Core Runtime 2.1 ou version ultérieure (Windows | macOS | Linux)
  • Connexion à SQL Server 2012 ou version ultérieure, ou Azure SQL Database

Et la configuration système recommandée :

  • Deux cœurs ou plus
  • 8 Go ou plus de mémoire
  • Systèmes d'exploitation :
    • Windows (8.1/Server 2012 R2 ou supérieur)
    • macOS (10.13 ou version ultérieure)
    • RedHat (7.6 ou supérieur)
    • SuSE (12.0 ou supérieur)
    • Ubuntu (18.04 ou version ultérieure)

Ensuite, pour installer l'extension :

  • Ouvrez Azure Data Studio.
  • Sélectionnez Fichier> Installer l'extension à partir du package VSIX . Vous ne pouvez pas double-cliquer sur le fichier VSIX.
  • Recherchez le fichier SentryOne Plan Explorer VSIX que vous avez téléchargé et cliquez sur Installer .
  • Sauf si vous l'avez ignoré auparavant, vous devrez dire oui à une invite sur la confiance des extensions tierces :

    Si vous ne disposez pas d'une version suffisamment récente d'Azure Data Studio (ou si vous utilisez une build Insiders avec des modifications que nous n'avons pas encore testées), certaines fonctionnalités peuvent ne pas fonctionner comme prévu.

    Si vous ne disposez pas d'une version suffisamment récente du runtime .NET Core (ou s'il n'est pas en cours d'exécution), vous obtiendrez ce message d'erreur une fois l'installation réussie :

Ce qu'il y a dedans

Comme l'application de bureau, l'extension Plan Explorer est conçue pour vous fournir des plans d'exécution graphiques plus riches pour vos requêtes en temps réel sur SQL Server. Il est basé sur un sous-ensemble modeste de fonctionnalités; nous avons commencé avec uniquement le diagramme du plan, une grille d'instructions de base, des info-bulles et l'accès au XML (afin que vous puissiez ouvrir le plan dans d'autres outils). Nous ajouterons plus de fonctionnalités à l'extension au fil du temps pour essayer de vous rapprocher le plus possible de la parité totale avec le client de bureau.

Pour activer ou désactiver l'extension

  • Cliquez sur Explorateur de forfaits SentryOne élément dans la barre d'état :

  • Ou appuyez sur Maj+Ctrl /⌘+P et trouvez Toggle SentryOne Plan Explorer :

  • Ou appuyez sur Maj+Ctrl /⌘+F5 .

Pour collecter un plan d'exécution

  • Assurez-vous que l'extension est activée.
  • Dans une nouvelle fenêtre de requête, établissez une connexion à un serveur, puis écrivez ou collez une requête.
  • Pour une estimation plan, utilisez le bouton Expliquer bouton de la barre d'outils.
  • Pour un réel planifier, utilisez Ctrl /⌘+M .
  • Un nouveau document de niveau supérieur s'ouvrira (intitulé Plan Explorer ) comprenant une grille d'énoncés, une ligne pour chaque énoncé générateur de plan :

      Grille des déclarations

    • Pour afficher le plan XML sous-jacent, cliquez sur Afficher XML .
    • Pour afficher le schéma du plan pour n'importe quel relevé, cliquez sur Afficher le plan .
    • Planifier le diagramme avec le thème lumineux par défaut

      Diagramme de plan avec thème Solarized Dark

    • Pour afficher l'info-bulle condensée d'un opérateur, passez la souris sur l'opérateur. Pour la version étendue, qui inclut plus d'informations et "colle" sur le côté droit du panneau, cliquez sur l'opérateur :
    • Info-bulles condensées et développées

    • Pour modifier l'une des propriétés du diagramme, telles que le niveau de zoom, basculer entre les plans réels et estimés, afficher les coûts par E/S ou CPU uniquement, ou modifier les largeurs de ligne à afficher en fonction du nombre de lignes ou de la taille des données, cliquez à droite- cliquez n'importe où sur le schéma :
    • Menu contextuel des options de diagramme

    • Lorsqu'une recommandation d'index manquant est présente, un avertissement apparaîtra dans l'info-bulle pour l'opérateur du nœud racine, et une option de menu contextuel par clic droit sera disponible n'importe où sur le diagramme (ce qui ouvrira le script d'index manquant(s) dans une nouvelle fenêtre de requête de niveau supérieur déconnectée) :

      Avertissement d'info-bulle d'index manquant et option de menu contextuel

      Script d'index manquant

Nouveauté de la version 0.9.6 :15 août 2019

  • Ajout d'une option de menu contextuel pour basculer les largeurs de ligne entre le nombre de lignes et la taille des données
  • Ajout d'une option de menu contextuel pour afficher les recommandations d'index manquantes dans une nouvelle fenêtre de requête
  • Déplacement du port d'API par défaut de 5 000 à 5 042 pour réduire les risques de conflit
  • Ajout d'un paramètre pour personnaliser le numéro de port local en cas de conflit :

  • Déplacement de l'activation/désactivation de l'extension vers la barre d'état (merci pour la suggestion, Drew Skwiers-Koballa !)
  • Diagnostics supplémentaires dans le panneau de sortie pour faciliter le dépannage :

  • Mise à jour de plusieurs icônes d'opérateur (anciennes à gauche, nouvelles à droite) :Assert

    ClusteredIndexDelete

    ClusteredIndexMerge

    ClusteredIndexUpdate

    ColumnstoreIndexDelete

    Supprimer

    Numérisation supprimée

    Extraire la requête

    ForeignKeyRefCheck

    IndexSupprimer

    Mise à jour de l'index

    Analyse insérée

    Recherche de clé

    PopulationQuery

    Suppression à distance

    RemoteQuery

    Recherche RID

    Séquence

    Interrupteur

    FenêtreAgrégat

    Notez que les changements d'icône de recherche de clé et de RID se sont déjà produits dans Plan Explorer 19.0.1 (explication ici); le reste de ces modifications apparaîtra bientôt dans Plan Explorer.

Problèmes connus

  • Lorsque l'extension Plan Explorer est activée, vous découvrirez également l'élément natif Explain fonctionnalité fournie par Azure Data Studio (Dave Bland explique cette fonctionnalité ici).
  • Pour les plans réels, les seules métriques d'exécution disponibles dans les grilles sont la durée et le processeur (étant donné une version suffisamment moderne de SQL Server). D'autres données apparaîtront dans les prochaines versions, à commencer par les lectures et le coût %.
  • Azure Data Studio tronque actuellement la sortie XML du plan à 2 Mo (voir le problème n° 6299). Ainsi, pour les plans plus importants et/ou les lots plus importants, nous ne pourrons peut-être pas afficher tous les plans. Cela est plus susceptible de se produire lorsque vous utilisez Expliquer pour générer des plans estimés (il suffit donc de dire non aux plans estimés ).
  • Nous n'avons pas accès au menu Fichier, nous ne pouvons donc pas ouvrir ou enregistrer des plans, et nous ne pouvons ouvrir qu'une seule fenêtre de document nommée Explorateur de plans – ce qui signifie que, du moins pour le moment, vous ne pouvez afficher qu'un seul schéma de plan à la fois.
  • Index manquants , options de largeur de ligne , et la fonctionnalité de réduction de sous-arborescence ne sont pas disponibles dans l'aperçu. Il n'y a pas non plus d'options de mise en page, mais vous pouvez zoomer avec la molette de votre souris ou le pincement du trackpad, et vous pouvez effectuer un panoramique avec un balayage du trackpad à deux doigts.
  • Lorsqu'Azure Data Studio s'ouvre avec des documents récupérés d'une session précédente, l'activation de l'extension Plan Explorer peut ne pas s'appliquer à ces fenêtres, en raison d'un problème d'énumération des documents dans cet état. Jusqu'à ce que Microsoft publie un correctif, désactiver puis réactiver Plan Explorer devrait faire l'affaire.
  • La prise en charge des thèmes est expérimentale à ce stade :
    • Toutes les couleurs d'arrière-plan ne seront pas magnifiquement rendues, et tous les liens sont bleus quoi qu'il arrive.
    • Des icônes alternatives conçues pour les thèmes sombres sont en préparation.
    • Si vous modifiez le thème de couleur après le rendu d'un plan, nous ne pouvons actuellement pas capturer l'événement. Interagissez avec le diagramme (par exemple, faites un clic droit) pour le forcer à "rattraper".

Obtenez plus d'informations ; fournir des commentaires

  • Page du produit
  • Documentation officielle du produit
  • Explorateur de plans SentryOne/Forum de réglage des requêtes
  • Annonce de la version de juillet de l'équipe Azure Data Studio
  • Je suis toujours heureux de répondre aux questions ou de recevoir des commentaires à [email protected]