Contacts

Analyse de la requête utilisant le profileur SQL. Le profileur SQL résout des problèmes

Qu'est-ce que vous apprenez de cet article?

  • But de traçage Profileur SQL
  • Comment suivre le texte de la demande au SGBD dans lequel la requête 1C est diffusée
  • Paramètres de filtre de traçage
  • Comment remplir personnel sQL SETUP Profileur

Souvent, la situation se pose lorsqu'une demande en 1C pour une raison quelconque fonctionne lentement, mais l'analyse de texte de requête ne nous dit aucun problème.

Dans ce cas, vous devez étudier ce problème à un niveau inférieur. Pour ce faire, nous devons regarder la requête SQL et le plan de demande. Pour ce faire, vous pouvez utiliser SQL Profiler.

Profileur SQL - Objet

SQL Profiler est un programme comprenant MS SQL Server, conçu pour afficher tous les événements qui se produisent dans le serveur SQL. En d'autres termes, il est nécessaire d'enregistrer la trace.

Dans quels cas cet outil peut être utile à 1C programmeur? Tout d'abord, vous pouvez obtenir le texte de la requête sur langue SQL Et regarder son plan. Cela peut également être fait dans la revue technologique (TZH), mais le plan de requête dans la Th n'est pas aussi pratique et nécessite certaines compétences et compétences. De plus, le profileur vous pouvez voir non seulement un texte, mais également un plan graphique pour effectuer une requête, ce qui est plus pratique.

En outre, le profileur vous permet de savoir:

  • les demandes sont plus longues qu'un certain temps
  • demandes de table spécifique
  • attentes sur les serrures
  • taimautes
  • enlocking, etc.

Analyse des requêtes à l'aide du profileur SQL

Souvent, le profileur s'applique spécifiquement pour analyser les demandes. Et dans le même temps, vous devez analyser toutes les demandes exécutables, mais comment certaine demande Dans la langue 1C est diffusé en SQL et prêter une attention particulière à son plan d'exécution.

En particulier, il est nécessaire de comprendre pourquoi la demande est réalisée lentement. Ou lors de la création d'une demande importante et complexe, vous devez vous assurer que la requête SQL ne contient pas de connexions avec une sous-requête.

Pour suivre la requête en traçage, procédez comme suit:

1. Exécutez le profileur SQL: Démarrer - Tous les programmes - Microsoft SQL Server 2008 R2 - Moyens de performance - SQLProfiler.

2. Créez une nouvelle trace: Fichier - Créer une trace (CTRL + N).

3. Indiquez le serveur DBMS sur lequel notre base de données est située et cliquez sur Relier:

Rien ne nous empêche d'effectuer le traçage du serveur DBMS, situé sur tout autre ordinateur.

4. Dans la fenêtre qui apparaît Trace Propriétés Passer au signet Sélection d'événements:

Depuis que nous avons besoin de requêtes et de demander des plans, vous devez activer les événements appropriés. Pour le spectacle liste complète Les propriétés et les événements incluent des drapeaux Montrer tous les événements et Afficher toutes les colonnes. Vous devez maintenant sélectionner uniquement les événements indiqués dans la figure ci-dessous, le reste - vous souhaitez désactiver:

Description de ces événements:

  • ShowplanStatisticsProfile - Plan d'exécution du texte
  • ShowplanxMLStatisticsProfile - Plan d'exécution graphique
  • RPC: Texte de requête complété s'il est exécuté en tant que procédure (si la demande 1C est exécutée avec des paramètres)
  • SQL: BatchComplet - Texte de requête si elle est exécutée sous forme de requête régulière (si la demande 1C est satisfaite sans paramètres)

6. À ce stade, vous devez configurer le filtre pour des événements sélectionnés. Si le filtre n'est pas installé, nous verrons des demandes pour toutes les bases de données situées sur ce serveur DBMS. Par le bouton Filtres de colonne, installez le filtre de la base de données:

Nous voyons maintenant dans les demandes de trace uniquement à la base de données "testbase_8_2".

Vous pouvez également mettre un filtre et d'autres champs, le plus intéressant d'entre eux:

  • Durée
  • Textdata (généralement c'est le texte de la requête)
  • RowCounts (nombre de lignes retournées par la demande)

Supposons que nous ayons besoin de "attraper" toutes les demandes de la table "_Inforg4312" avec une durée de plus de 3 secondes dans la base de données "testbase_8_2". Pour cela, vous avez besoin de:

a) Installez le filtre de la base de données (voir ci-dessus)
b) Installez le filtre Durée (installé en millisecondes):

c) Installez le filtre par le texte du texte:

Pour définir le filtre par le texte du texte, utilisez le masque. Si vous devez suivre les demandes qui contactent plusieurs tables, plusieurs éléments sont créés dans la section "On dirait". Les conditions de filtrage appelées fonctionnent ensemble.

7. Exécutez maintenant la trace à l'aide du bouton Cours dans la fenêtre Trace Propriétés Et nous voyons les événements qui tombent sous les filtres installés, dont l'affichage a été configuré.

Les boutons de panneau de commande servent à contrôler la trace:

But des boutons:

  • La gomme - efface la fenêtre de trace
  • Démarrer - Runs Trace
  • Pause - met une trace en pause lorsque vous appuyez sur le début, le traçage est renouvelé
  • Arrêter - arrête de tracer

8. La fenêtre de trace se compose de deux parties. En haut, il existe des événements et leurs propriétés, dans les informations finales en fonction du type d'événements. Pour notre exemple, le texte de la requête sera affiché ici, soit son plan.

9. Nous allons commencer une demande dans la console de requête 1C et voir comment cela affecte le profileur:

Selon le comportement de la traçabilité, on peut voir que les demandes à la fin, il s'est avéré plusieurs, et un seul d'entre eux est intéressant. Les demandes restantes sont des services.

10. Les propriétés de l'événement permettent d'évaluer:

  • combien de secondes requises satisfaites (durée)
  • combien de lectures logiques (lit)
  • combien de lignes une demande renvoyée par conséquent (RowCounts), etc.

Dans notre cas, la demande a été effectuée 2 millisecondes, a effectué 4 lectures logiques et une chaîne renvoyée 1 chaîne.

11. Si vous regardez un événement ci-dessus, vous pouvez voir un plan de demande sous forme graphique:

Dans le plan, on peut voir que la recherche est effectuée sur l'indice des prix, ce plan ne peut pas être appelé parfait, car l'index n'est pas couvre, les champs de champ et le nom sont obtenus à l'aide de Keylookup, qui prend 50% du temps. .

Utilisation du menu contextuel, le plan de requête graphique résultant peut être enregistré dans fichier séparé avec * .sqlplan extension et ouvrez-le dans un profileur sur un autre ordinateur ou en utilisant programmes SQL Explorateur de plan Sentry, qui est plus avancé.

12. Si vous augmentez encore plus haut, nous verrons le même plan de requête, mais déjà sous forme de texte. C'est ce plan qui est affiché dans la TJ, le PC et d'autres moyens de contrôler les performances de 1C.

  • Dans le format du profil lui-même, c'est-à-dire avec l'extension * .trc
  • Au format XML
  • Faire un modèle de modèle (voir l'élément suivant)
  • Trace dure sous la forme d'une table de base de données. C'est une manière très pratique lorsque, par exemple, vous devez trouver le plus lenteur Dans la trace ou filtrer des demandes pour tout paramètre.

Ensuite, sélectionnez la base de données sur le serveur spécifié, spécifiez le nom de la table où la trace sera enregistrée. Peut être utilisé table existante, ou donnez-lui un nouveau nom, puis cette table sera créée automatiquement.

Il est maintenant possible de construire des requêtes de toute complexité à notre table: par exemple, recherchez les demandes les plus longues à long terme.

Il convient également de rappeler que la durée est stockée dans une table dans le million de dollars d'une seconde, et lorsque le résultat est dérivé, il est nécessaire de traduire une valeur en millisecondes. Également dans le tableau, une colonne de rive-numère indique le numéro de cette chaîne en trace.

14. Lors de l'utilisation d'un profileur pour analyser les demandes, le réglage constant des événements et des filtres souhaités vous enlèvera constamment de vous.

Dans ce cas, les modèles de trace nous aideront, où nous configurons les filtres dont nous avons besoin et l'ordre des colonnes, puis utilisez simplement un modèle existant lors de la création d'une nouvelle trace.

Pour créer un modèle, utilisez le menu Fichier - Modèles - Nouveau modèle:

Sur la première onglet, spécifiez le type de serveur, le nom du modèle et, si nécessaire, définissez le drapeau pour utiliser ce modèle par défaut.

Sur le deuxième onglet, nous choisissons les événements nécessaires et définit les filtres (comme indiqué ci-dessus).

Lors de la création d'une nouvelle trace, nous pouvons spécifier le modèle souhaité, puis sur la deuxième onglet, tous les filtres et événements seront automatiquement remplis par le modèle créé.

Andrey Burmistrov

Lors du développement de modules d'application du système Lexema.ru, la nécessité d'une analyse des demandes de base de données se produit périodiquement lors de la fonctionnement des formes à l'écran, des requêtes, des rapports, des procédures stockées et d'autres objets pour diagnostiquer les problèmes. Pour résoudre ces tâches, des outils de profil de requête SQL sont destinés. Ils permettent:

  • les épreuves de piste différents types Sur le serveur de base de données (exécution des demandes, procédures stockées, etc.)
  • filtrer les événements sur divers critères (nom BD, connexion à l'utilisateur, etc.)
  • enregistrez la séquence d'actions sous forme de trace d'événements. Par la suite, le traçage peut être analysé, ainsi que stocké dans un fichier ou dans la base de données.
  • analyser la performance (vitesse d'exécution) Demandes de recherche et d'élimination du système "goulots d'étranglement"
  • etc.

Cet article traite de deux outils:

  • Profileur de Lexema SQL, intégré au modèle d'application
  • Le profileur MS SQL Server, qui fait partie de MS SQL Server

Profileur Lexema SQL

Cet outil est conçu pour analyser les demandes au serveur de base de données, initiées par le module - programme pour développer des configurations d'applications. Avec cela, vous pouvez explorer la structure de la base de données logique appliquée et ses objets.

Pour utiliser le profileur Lexema SQL, exécutez le modèle d'application. Cliquez sur le bouton avec l'image du baril à gauche coin supérieur la fenêtre:

Pour commencer à enregistrer la trace des demandes de modeleur SQL sur le serveur de base de données, cliquez sur le bouton Exécuter de la barre d'outils.

Effectuez les actions dans le modulateur pour lequel vous souhaitez explorer les demandes de base de données. Par exemple, après avoir ouvert une liste de modèles, la traçage de plusieurs demandes sera créée:

La table de ci-dessus contient une liste d'événements (requêtes SQL), le champ en bas - le contenu (code SQL)

Champs de table:

  • EventClass.
  • Textdata.
  • Durée.
  • Heure de début
  • Heure de fin.
  • Nom de l'application.
  • Se lit.
  • Écrit.
  • Transaction.

Par exemple, à partir de la trace d'événements lors de l'ouverture d'une liste de modèles, vous pouvez dessiner les conclusions suivantes: Les données de trois tables (L8_Model, L8_MODELPROPERTY et L8_NAMESPACE) sont demandées; La requête la plus longue est faite à la table L8_ModelProperty (242 ms).

MS SQL Server Profiler

Le profileur Server MS SQL est un outil inclus dans le package Server MS SQL qui vous permet d'intercepter les événements du serveur de base de données. Les événements peuvent être enregistrés dans le fichier de trace ou dans la base de données pour une analyse ou une utilisation ultérieure afin de répéter une série de mesures spécifique pour jouer un problème pour ses diagnostics. Scénarios d'horaire à l'aide du profileur SQL Server:

  • contrôle de performance d'instance SQL Base de données du serveur. Moteur
  • débogage des instructions de transaction et des procédures stockées
  • analyse de la performance en identifiant lentement les demandes de travail
  • effectuer des tests de stress et un contrôle de la qualité en jouant des traces
  • jouer une trace d'un ou plusieurs utilisateurs
  • vérifiez les instructions TRANSACT-SQL et les procédures stockées à la phase de développement de projet en mode étape par étape pour garantir la bonne exécution du code
  • dépannage des problèmes dans SQL Server par interception d'événements dans le système de production (version du produit) et les joue dans le débogage ( version de test). C'est une opportunité très utile car elle permet lors de la vérification ou du débogage de continuer à utiliser le système de production.
  • audit et suivi des actions survenant dans l'instance SQL Server. Cette fonctionnalité permet à l'administrateur de la sécurité de voir tous les événements d'audit, en particulier des tentatives réussies et infructueuses de se connecter au système et aux autorités et aux objets d'accès.
  • enregistrement de la trace entraîne un format XML, qui fournit une structure de stockage hiérarchique normalisée des résultats de trace. Cela vous permet d'apporter des modifications aux traces existantes ou de les créer manuellement pour une lecture ultérieure.
  • analyse statistique des résultats de la traçabilité, permettant de produire et d'analyser des catégories d'événements similaires. Les résultats contiennent des compteurs obtenus sur la base du regroupement d'une colonne
  • fournir la possibilité de créer des utilisateurs de traçage qui ne sont pas des administrateurs
  • régler des modèles de trace, qui peuvent ensuite être utilisés pour des traces suivantes

Exécuter et connecter au serveur

Vous pouvez exécuter MS SQL Server Profiler dans le menu Windows OS (Menu "Démarrer") ou dans le menu STUDIO STUDIO MS SQL Server Management (point de service - "Appleer SQL Server"). Après le démarrage, vous devez vous connecter au serveur - entrez l'adresse du serveur, le nom. compte et mot de passe:

Définition des paramètres de traçage

Puis avant le début de la trace, il est nécessaire de définir ses propriétés:

  • Nom de traçage - Il est conseillé de définir dans le cas où il est prévu d'être enregistré
  • Utilisez le modèle - Définit la configuration de trace par défaut. À savoir, il inclut les catégories d'événements qui doivent être surveillés sur le profileur SQL Server. Par exemple, vous pouvez créer un modèle spécifiant les événements utilisés, les colonnes de données et les filtres. Les assemblages ne sont pas exécutés, mais sont enregistrés dans des fichiers avec le TDF d'extension. Après avoir enregistré le modèle commande la capture de données si la trace est basée sur ce modèle départs.
  • Enregistrer dans le fichier pour relâcher et analyser
  • Enregistrer sur la table - dans ce cas, la trace sera enregistrée dans la base de données et il sera possible d'analyser les outils SQL.
  • Allumez le temps d'arrêt de la trace - il est nécessaire en cas d'observations à long terme

Sélection des types d'événements et de leurs attributs

Une étape importante de réglage de la trace est le choix des événements (vous devez aller à l'onglet approprié). L'onglet "Sélectionner un événement" contient une grille - une table contenant chacune des classes d'événements disponibles pour le traçage. Sur chaque classe d'événements dans la table des comptes pour une ligne. Les classes d'événements peuvent varier légèrement en fonction du type et de la version du serveur auquel elles sont connectées. Les classes d'événements sont identifiées dans la colonne Event Grid et sont regroupées par catégories d'événements. Les colonnes restantes répertorient les colonnes de données pouvant être renvoyées pour chaque classe d'événements. Pour activer les événements dans la traçage, cochez la case dans la colonne Event.

Défaut cette liste Il ne contient que certaines catégories et types d'événements conformément au modèle sélectionné (voir ci-dessus). Toutes les colonnes ne sont pas également affichées. Pour plus paramètres détaillés Il est recommandé de mettre les cases à cocher "Afficher tous les événements" et "Afficher toutes les colonnes".

Si le traçage est effectué pour suivre les demandes produites par l'application Lexema.ru, il suffira de mentionner 3 types d'événements en 2 groupes:

  • Procédures stockées (procédures stockées)
    • RPC: terminé - se produit lorsque l'appel distant est terminé (RPC)
    • SP: terminé - se produit lorsque la procédure stockée est terminée
  • TSQL - suivi de l'exécution des instructions de transactSQL transmises par les clients sur le serveur de base de données
    • SQL: lotchcompéed - se produit lors de l'exécution de l'exécution de l'instruction TransactSQL

Noter: La case à cocher dans la colonne Events peut être dans trois états:

  • pas de case à cocher - Un événement n'est pas suivi
  • une tique noire est installée - toutes les colonnes de données sont sélectionnées - toutes les données possibles seront collectées pour l'événement sélectionné.
  • une tique grise est installée - seules certaines colonnes de données sont sélectionnées - seules certaines données seront collectées pour l'événement sélectionné conformément aux timbres des colonnes.

Par défaut, toutes les colonnes ne sont pas sélectionnées pour certains événements (cela vaut une coche grise). Pour sélectionner toutes les colonnes, vous devez supprimer la coche et l'installer à nouveau. Dans ce cas, les ticks seront installés pour toutes les colonnes de données visibles.

Vous trouverez ci-dessous d'autres catégories et types d'événements utiles:

  • Audit de sécurité.

Définition des paramètres de filtrage

Les filtres limitent l'accumulation d'événements dans la trace. Si le filtre n'est pas installé, tous les événements des classes d'événements sélectionnés sont renvoyés à la sortie de traçage. Réglage du filtre de trace est facultatif, mais le filtre minimise les coûts de ressources pendant le traçage. Les filtres pour les définitions de trace sont ajoutés sur l'onglet "Sélection d'événements" dans la boîte de dialogue "Propriétés de trace" ou "Propriétés du modèle de trace".

Lors du suivi des événements en cours lors de l'utilisation de l'interface Web Lexema.ru avec un utilisateur spécifique, il est conseillé d'installer le filtre «ApplicationName» ressemble<логин_пользователя>+ & 1, par exemple, "Petrovan & 1", où Petrovan - Connexion utilisateur:

Avec ce réglage du filtre, seuls les événements générés par l'utilisateur spécifié tomberont dans la trace.

Événements de suivi

Supposons que, après les réglages décrits ci-dessus et lançant le traçage, l'utilisateur avec la connexion " airat " Entre le système et ouvre le registre des catégories de revenus et de dépenses du module de comptabilité domestique, puis ouvre l'un des documents (à titre d'exemple):

En conséquence, une liste d'événements sera affichée dans le profileur SQL Server TRACing:

L'analyse d'une liste d'événements de trace peut être constatée que l'une des demandes les plus longues était la suivante:

eXEC SP_EXECUTSQL N. "Sélectionnez comme, comme, comme, comme, comme, comme, comme, comme, comme, comme, comme, comme, en tant que De ", n "@Primarykeyboundary Bigint, @ TopCount Bigint", @ Primairekeyboundary \u003d , @ topcount \u003d null

À en juger par le nom d'objet (vtransactionCategory), il s'agit d'une demande de sélection de la liste des catégories de transactions. Type de cet événement - RPC: terminé (achèvement de l'exécution de la procédure distante).

Également dans la liste, vous pouvez voir les événements de type SQL: LotCompletted:

C'est le résultat de la requête (QuerySource) Lexema.ru.

Pour rechercher dans le texte des demandes suivies dans le traçage, vous devez cliquer sur la touche "Rechercher une chaîne" (avec l'icône des jumelles) dans la barre d'outils ou cliquez sur la combinaison de touches CTRL + F:

Ensuite, vous devez entrer le texte souhaité et sélectionner une colonne de recherche (le texte de la requête est contenu dans la colonne TextData). Après avoir cliqué sur le bouton "Suivant", le curseur sera positionné sur la chaîne d'événement contenant le texte souhaité.

Pour les données de test et de débogage, ces demandes peuvent être réalisées manuellement. Pour ce faire, vous devez copier leur texte, ouvrir le studio SQL Server Management Studio, connecter au serveur correspondant, sélectionnez la base de données, créez une requête, insérez-le du texte et exécutez.

Le produit logiciel de profileur SQL Server est une coque graphique destinée à créer des traces et à analyser les résultats de la trace. Les événements sont enregistrés dans le fichier de trace, qui peut ensuite être analysé ou utilisé pour jouer certaines séquences d'étapes pour identifier les problèmes qui sont apparus.

Afin de suivre les étapes en cours d'exécution dans ce momentVous devez exécuter MS SQL Profiler, créer une nouvelle piste et configurer l'analyse des indicateurs:

Dans l'onglet Général, vous devez spécifier le nom de la trace. Spécifiez où les données de la route supprimée seront enregistrées - dans le fichier et / ou dans la table de base de données.

L'onglet "Sélection d'événements":

Cette page indique les événements qui doivent être surveillés. Dans cet exemple, spécifiez les données dont vous avez besoin pour suivre les plans de requête.

Obtenez 267 tutoriels vidéo pour 1c gratuitement:

Par défaut, le traçage passe à travers tous les événements spécifiés dans toutes les bases de données. Pour appliquer la sélection des données obtenues, vous devez cliquer sur le bouton "Filtres de colonne ...":

Par exemple, définissez la sélection par identifiant base de l'information (Vous pouvez trouver l'identifiant de base en utilisant sélectionnez Demande Db_id (n'imyabase '))).

Trace en cours d'exécution dans le profileur pour 1c

Une fois que tous les paramètres sont effectués, il reste à exécuter un suivi, car vous devez cliquer sur "Exécuter" (exécuter). À partir de maintenant, toutes les actions spécifiées dans le filtre seront traçées à partir de ce point.

Par exemple, je lance la piste pour le moment du document "Réception de biens et services" afin de suivre les coûts les plus de main-d'œuvre.

Une fois le traçage obtenu, il est nécessaire d'analyser.

Analyse des données à partir du profileur

Pour analyser la trace, vous pouvez enregistrer soit dans un fichier ou dans le tableau. Nous sauverons la table de base de données:

L'un de mes outils préférés est le profileur SQL Server, qui est souvent appelé simplement profileur. Cet utilitaire affiche des données sur n'importe quel nombre d'événements SQL Server détaillés. Ces événements de serveur peuvent être visualisés dans la fenêtre Propriétés de trace (Fig. 49.3), ainsi que d'écrire dans un fichier ou une table pour une analyse ultérieure. Pour enregistrer tous les événements ou leurs sous-ensembles sélectionnés, vous pouvez installer des filtres.

PUC. 49.2. DANS cet exemple Le contre-protocole enregistrera des informations

à propos de performance SQL Serveur dans le catalogue avec: \\ Perf Logs

L'utilitaire de profileur SQL Server peut être démarré dans le menu. Programmes d'outils Studio de gestion ou directement à partir du dossier SQL Server 2005 menu du système Démarrer. Pour afficher les actions, vous devez définir une nouvelle trace ou utiliser le fichier existant.

Avec la sortie du package de mise à jour du profileur SP1 SQL Server, il a reçu l'opportunité! Traquer de grandes matrices de données sur les grands ordinateurs.

En outre, plus tôt, lors de la surveillance du service d'analyse, le temps a été affiché dans des unités de temps synchronisées universelles (UTC). Maintenant utilisé local le temps du système. Auparavant, les événements reproduits avec succès ont été calculés de manière incorrecte, par conséquent, l'utilisateur a reçu des statistiques incorrectes. Ce problème a été éliminé.

Définir une nouvelle trace

Lorsqu'une nouvelle trace est créée (à l'aide de la commande Fichier ^ Nouvelle trace, ou à l'aide de la nouvelle barre d'outils Trace Button), une nouvelle connexion à SQL Server est également créée et la boîte de dialogue Propriétés de trace s'ouvre (Fig. 49.4). Dans l'onglet Général de cette fenêtre, le traçage (en particulier, le nom, l'emplacement du fichier, etc.) est configuré et dans l'onglet Sélection d'événements, les événements enregistrables, les données et les filtres sont définis. Si le traçage est en cours d'exécution, ces paramètres peuvent être visualisés, mais ne pas changer. La configuration de trace peut être enregistrée en tant que modèle pour faciliter la création de nouvelles traces à l'avenir.

Figure. 49.4. L'onglet Sélection des événements des Windows Properties Windows vous permet de sélectionner des événements Suivi des utilitaires du profileur

Le traçage peut être considéré en temps réel, mais ces données peuvent être enregistrées simultanément à un fichier ou à un fichier. table SQL Serveur. Ceci est utile pour une analyse intelligente ultérieure, des comparaisons avec des compteurs de moniteur de données ou des importations dans l'utilitaire de conseillère de syntonisation du moteur de base de données.

Lorsque les lectures sont écrites dans un fichier, augmenter la productivité, elles sont combinées à une chaîne de 128 Ko; De même, lors de l'enregistrement sur la table, les données sont regroupées par plusieurs lignes.

Pour enregistrer les données obtenues par programme Profiler, pour une analyse ultérieure, utilisez une méthode de fichier hautes performances, ainsi que sur une traçage de serveur (nous en parlerons plus tard). Si vous souhaitez analyser des données à l'aide des instructions T-SQL, utilisez exactement la même approche, mais une fois la session de trace terminée, ouvrez le fichier reçu dans l'utilitaire de profileur et sélectionnez la commande Fichier ^ Enregistrer sous ^ Tableau dans le menu.

Sélection d'événements

L'onglet Sélection des événements détermine la composition des actions effectuées par le serveur de base de données à enregistrer par l'utilitaire du profileur. Comme un moniteur de performances, le profileur peut suivre une variété d'événements clés SQL Server. Pour simplifier le paramètre de sélection, vous pouvez utiliser les modèles par défaut.

I SQL BATCH Terminé Event est basé sur des packages T-SQL

SVS globalement (séparé par des terminateurs de packages) et non des instructions individuelles.

| * Basé sur ce profileur enregistre les données d'un seul événement, indépendante

Simo de la longueur de l'emballage. Pour enregistrer des instructions individuelles

DML Utilisez l'évolution complète de l'instruction SQL.

Tous les événements ne peuvent pas être utilisés pour lire la trace. Par exemple, l'événement SQL Batch Démarrer peut être lu et l'événement complet SQL Batch n'est pas.

Selon les événements de traçage, différentes données deviennent disponibles. Malgré le fait que la colonne de données SPID semble facultative, cette impression est trompeuse - elle est obligatoire.

Événements de filtrage

Le programme Profiler est capable de collecter pour vous si un certain nombre d'informations pouvant facilement remplir le clignotement. appareil de disque. Heureusement, le programme offert par le programme (Fig. 49.5) vous aidera à limiter ce réseau uniquement par les données qui vous intéressent.

Figure. 49.6. L'utilitaire de profileur SQL Server est capable d'intégrer les données de surveillance des performances et de les synchroniser avec des événements suivis.

En utilisant SQL Trace

Le programme SQL Profiler est généralement utilisé de manière interactive et il suffit assez pour la collecte de données non permanente. Cependant, des traces à long terme sont capables d'accumuler facilement des centaines de milliers d'enregistrements, ce qui peut causer des problèmes assez spécifiques sur poste de travailCourir de traçage. La solution est réduite pour créer un journal de trace directement sur le serveur. Un tel traçage provoquera une petite charge supplémentaire sur le serveur; Dans le même temps, les fichiers seront enregistrés par des blocs de 128 Ko.

Dans les systèmes industriels engagés en traçant du côté serveur, enregistrez les données dans le fichier sur le serveur. meilleur moyen Collecte d'informations

sur la performance lors de la minimisation de la charge supplémentaire sur le serveur.

Le traçage courant sur le serveur peut être défini et mis en œuvre à l'aide d'un ensemble de procédures stockées du système. Code de programme Vous pouvez écrire indépendamment ou utiliser le programme de profileur SQL Server.

Lorsque le traçage est configuré et testé sur le profileur SQL Server, sélectionnez le fichier ^ Exporter ^ Définition ^ pour SQL Server 2005 dans le menu pour générer le script T-SQL capable de traçage du côté serveur.

Je pour savoir quelles traces fonctionnent sur le serveur, effectuez une demande de

SVS Namic Présentation de la gestion des Systraces. Lorsque vous regardez I * les résultats de cette demande, vous verrez une trace supplémentaire. Le premier * numéro a toujours la bonne trace par défaut qui recueille des données pour les journaux SQL Server, il est impossible de l'arrêter.

Pour arrêter le suivi du serveur, utilisez la procédure stockée SP_TRACE_STatus System System. Le premier argument (TraceID) est un identifiant de trace et la seconde détermine la nature de l'action. La valeur zéro du paramètre de l'action conduit à une butée de trace, une - à son lancement et à deux à fermeture et en retrait. Le code suivant cesse de traçage avec le numéro 2.

Dans cette conférence, nous continuerons d'étudier les procédures stockées qui ont commencé dans la "création de procédures stockées et de la gestion de ces procédures". Vous apprendrez à analyser des procédures stockées et d'autres instructions T-SQL à l'aide de Microsoft SQL Server Query Analyzer Analyzer Analyzer et Profil SQL Server Profiler. De cette analyse, vous pouvez déterminer comment les opérateurs T-SQL efficaces sont efficaces. Une requête SQL Server efficace utilise une séquence d'opérations appropriée et des indices appropriés pour réduire le nombre de lignes traitées et minimisant le nombre d'opérations d'E / S.

Utilisation d'Analyzer Query, vous pouvez voir le plan d'exécution sélectionné pour l'opérateur T-SQL. optimizer des demandes Serveur SQL. Optimiseur de requête - Ceci est un module interne qui cherche meilleur plan Exécutions pour chaque opérateur T-SQL. Optimiseur de requête Analyse chaque instruction T-SQL, examine un certain nombre de plans d'exécution possibles et évalue le "coût" de chaque plan du point de vue des ressources et du temps de traitement requis. Le plan est sélectionné avec le coût le plus petit. Le coût de chaque plan est déterminé sur la base des statistiques existantes, qui sont collectées par le système et peuvent être obsolètes. Comme vous pouvez en savoir plus sur votre base de données et vos données que optimiseur de requêteVous pourrez peut-être créer un plan qui sera meilleur que l'optimiseur de requêtes. Utilisation des informations fournies par Query Analyzer, vous pouvez déterminer si le plan d'optimisation de la requête sera efficace pour certains opérateurset sinon, alors vous pouvez essayer d'optimiser cet opérateurEn le modifiant ou en utilisant la pointe SQL. Dans cette conférence, vous apprendrez à optimiser les instructions T-SQL, qui seront une ajout à l'étude de l'utilisation de l'analyseur de requête.

Utilisation du profileur, vous pouvez analyser des opérations dans votre système SQL Server pour déterminer quelles procédures SQL et stockées utilisent inutilement. ressources système. Possédant cette information, vous pouvez concentrer vos efforts de syntonisation principalement sur ces opérateurs et les procédures stockées. En plus de la description de l'utilisation du profileur, cette conférence montre également comment utiliser les informations obtenues à l'aide du profileur.

Utiliser SQL Query Anysenzer

L'utilitaire de requête Analyzer est livré avec Microsoft SQL Server 2000 en retour



Avez-vous aimé l'article? Partagez-le