Showplans XML

Mis à jour : 5 décembre 2005

Dans Microsoft SQL Server 2005, une sortie de plan d'exécution Showplan peut être générée au format XML selon diverses méthodes. Une sortie Showplan au format XML peut être transférée d'un ordinateur à une autre et donc restituée sur n'importe quel ordinateur, même sur des ordinateurs où SQL Server n'est pas installé. Une sortie Showplan au format XML peut également être traitée par programme à l'aide de technologies XML, par exemple XPath, XQuery, XSLT, SAX, DOM, etc. Le traitement de Showplan XML est pris en charge dans SQL Server 2005, qui contient un moteur d'évaluation de requêtes intégrées pour XPath et XQuery.

Vous pouvez générer une sortie Showplan XML à l'aide des méthodes suivantes :

  • sélection de Afficher le plan d'exécution estimé ou de Inclure le plan d'exécution réel à partir de la barre d'outils de l'éditeur de requête dans SQL Server Management Studio ;
  • utilisation des options SHOWPLAN_XML et STATISTICS XML de l'instruction Showplan SET de Transact-SQL ;
  • sélection des classes d'événements Showplan XML, Showplan XML for Query Compile et Showplan XML Statistics Profile du Générateur de profils SQL Server pour le suivi ;
  • utilisation de la fonction de gestion dynamique sys.dm_exec_query_plan.

Des Showplans XML sont retournés dans le type de données nvarchar(max) pour toutes ces méthodes, sauf en cas d'utilisation de sys.dm_exec_query_plan. Des Showplans XML sont retournés dans le type de données xml lorsque vous utilisez cette vue de gestion dynamique.

Le schéma XML pour Showplan est disponible sur ce site Web de Microsoft.

Vous le trouverez également dans le répertoire d'installation de Microsoft SQL Server 2005, à l'emplacement suivant :

Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd

ms189298.note(fr-fr,SQL.90).gifRemarque :
Si l'optimiseur de requête termine prématurément sa tâche, l'attribut StatementOptmEarlyAbortReason est retourné pour l'élément StmtSimple dans la sortie Showplan XML. Les valeurs pouvant s'afficher pour cet attribut sont TimeOut, GoodEnoughPlanFound et MemoryLimitExceeded. Si TimeOut ou GoodEnoughPlanFound sont retournées, aucune action n'est nécessaire. Le plan d'exécution Showplan retourné contient des résultats corrects. Si MemoryLimitExceeded est renvoyée pour l'attribut StatementOptmEarlyAbortReason, le plan d'exécution Showplan produit au format XML est toujours correct, mais pas obligatoirement optimal. Utilisez l'une des méthodes suivantes pour accroître la mémoire disponible. 1) Diminuer la charge sur le serveur. 2) Augmenter la mémoire disponible pour SQL Server. Pour plus d'informations, consultez Gestion de la mémoire pour des bases de données volumineuses. 3) Activer l'option max server memory qui est définie avec la procédure sp_configure, puis augmenter sa valeur si elle n'est pas assez élevée. Pour plus d'informations, consultez Options de mémoire du serveur.

À propos du schéma Showplan XML

La désignation de version du schéma Showplan XML est composée de deux parties, telles que m.n, où m est le numéro de version principale et n le numéro de version mineure. Par exemple, « Version 2.5 ». Ce numéro de version apparaît dans l'élément racine du document du schéma Showplan XML. Par exemple : version="0.5"

Compatibilité ascendante des schémas Showplan XML

Lorsque le numéro de la version principale s'incrémente, la nouvelle sortie Showplan XML risque de ne pas être valide par rapport à l'ancien schéma. Cependant, si le numéro de version mineure s'incrémente, il n'y a pas d'effet. Par exemple, si vous avez généré la sortie Showplan XML avec la version du schéma 0.5, cette sortie est valide par rapport au schéma Showplan XML 0.6.

Codage de Showplans XML

SQL Server 2005 envoie la sortie du Showplan XML au client au format Unicode en utilisant deux octets pour chaque caractère envoyé. Les règles de codage sont les suivantes :

  • If (char >= 0x0020 && char <= 0xD7FF) or (char == 0x0009) or 
    (char == 0x000A) or (char == 0x000D) or (char >= 0xE000 && char <= 0xFFFD)
    then envoyer le caractère sur deux octets, else envoyer '?'
  • Les caractères tabulation, nouvelle ligne et saut de ligne sont codés de la façon suivante :
    • \t est codé en tant que '&#x9;'
    • \n est codé en tant que '&#xa;'
    • \r est codé en tant que '&#xd;'

Enregistrement d'une sortie Showplan XML dans un fichier

Après que la sortie Showplan a été générée à l'aide des instructions SET Transact-SQL SHOWPLAN_XML ou STATISTICS XML, vous pouvez enregistrer la sortie dans un fichier avec l'extension .sqlplan. Par exemple, MyXMLShowplan.sqlplan. Vous pouvez ouvrir et afficher ces fichiers .sqlplan dans SQL Server Management Studio. Pour plus d'informations, consultez Procédure : enregistrer un plan d'exécution au format XML.

Voir aussi

Référence

Affichage de plans d'exécution graphique (SQL Server Management Studio)

Concepts

Affichage des plans d'exécution à l'aide des options Showplan SET (Transact-SQL)
Affichage des plans d'exécution en utilisant des classes d'événements dans le Générateur de profils SQL Server
Sécurité Showplan

Autres ressources

sys.dm_exec_query_plan

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • L'emplacement de l'installation a été modifié pour le schéma Showplan XML.