Share via


Utilisation d'un fichier d'entrée XML pour le paramétrage

Toutes les opérations de paramétrage que vous pouvez effectuer à partir de l'interface utilisateur graphique (GUI) de l'Assistant Paramétrage du Moteur de base de données et de l'utilitaire de ligne de commande dta peuvent être définies dans le fichier d'entrée XML de l'Assistant Paramétrage du Moteur de base de données. Toutefois, le fichier d'entrée XML prend en charge d'autres options de paramétrage en plus de celles disponibles via l'interface graphique et l'utilitaire de ligne de commande.

Le fichier d'entrée XML utilise le schéma XML publié de l'Assistant Paramétrage du Moteur de base de données, qui se trouve dans le répertoire d'installation de SQL Server 2008 à l'emplacement suivant :

C:\Program Files\Microsoft SQL Server\10\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

Vous pouvez également le télécharger à l'adresse URL suivante :

https://schemas.microsoft.com/sqlserver/2004/07/dta

Le fichier d'entrée XML vous permet de paramétrer les bases de données à l'aide de vos outils XML préférés. Il offre en outre davantage de flexibilité aux administrateurs de bases de données expérimentés. Par exemple, par le biais du fichier d'entrée XML, vous pouvez spécifier une configuration constituée d'une combinaison de structures de conception physique existantes et hypothétiques (index, vues indexées et partitions). Vous pouvez ensuite utiliser l'utilitaire de ligne de commande dta pour paramétrer une base de données comme si cette combinaison de structures de conception physique existantes et hypothétiques était déjà implémentée. Cela permet une analyse « what-if », sans les contraintes qui accompagnent l'implémentation d'une configuration réelle, avant le paramétrage.

Les sous-sections suivantes traitent des opérations de paramétrage que vous ne pouvez effectuer qu'à l'aide du fichier d'entrée XML de l'Assistant Paramétrage du Moteur de base de données. Pour plus d'informations sur ce fichier et sur son utilisation, consultez Référence des fichiers d'entrée XML (Assistant Paramétrage du moteur de base de données).

Spécification de configurations avec l'élément de configuration

Même si la fonctionnalité de configuration définie par l'utilisateur peut être utilisée dans une certaine mesure via l'interface graphique de l'Assistant Paramétrage du Moteur de base de données, la prise en charge intégrale de cette fonctionnalité n'est assurée que lorsque vous utilisez le fichier d'entrée XML avec l'utilitaire de ligne de commande dta. Lorsque vous utilisez le fichier d'entrée XML, vous pouvez y spécifier une configuration entièrement hypothétique ou une configuration constituée d'une combinaison de structures de conception physique existantes ou hypothétiques. Ensuite, après avoir validé le fichier d'entrée par rapport au schéma XML de l'Assistant Paramétrage du Moteur de base de données, vous pouvez utiliser ce fichier comme entrée dans l'utilitaire de ligne de commande dta. Lors de la session de paramétrage, l'Assistant Paramétrage du Moteur de base de données applique la charge de travail spécifiée pour les bases de données. Toutefois, l'Assistant Paramétrage du Moteur de base de données n'évalue pas la configuration existante des index, vues indexées et autres partitions. Au lieu de cela, il utilise votre configuration qui est une combinaison de structures hypothétiques et existantes. L'utilisation de la configuration hypothétique vous permet d'analyser les effets d'une configuration déterminée sur le fonctionnement de votre base de données sans avoir à implémenter la configuration réelle, opération bien plus contraignante.

Pour spécifier une configuration constituée de structures de conception physique existantes ou hypothétiques, utilisez le sous-élément Configuration après l'élément TuningOptions dans le fichier d'entrée XML de l'Assistant Paramétrage du Moteur de base de données Pour plus d'informations, consultez Procédure : effectuer une analyse exploratoire et Exemple de fichier d'entrée XML avec une configuration spécifiée par l'utilisateur (Assistant Paramétrage de base de données).

Paramétrage de charges de travail inline avec l'élément EventString

Il est possible d'éviter complètement l'utilisation d'un fichier de charge de travail lorsque vous utilisez l'entrée XML avec l'Assistant Paramétrage du Moteur de base de données. À la place, vous pouvez spécifier une charge de travail et son poids inline dans le fichier d'entrée XML. Éviter l'utilisation d'un fichier ou d'une table de charge de travail distinct présente les avantages suivants :

  • Le paramétrage des serveurs distants est simplifié dans la mesure où vous n'avez pas besoin de vous soucier de la disponibilité du fichier ou de la table distincts pour l'Assistant Paramétrage du Moteur de base de données en vue du paramétrage.

  • Vous pouvez plus facilement incorporer la fonctionnalité de l'Assistant Paramétrage du Moteur de base de données dans des scripts transposables à l'environnement de votre entreprise.

Pour spécifier une charge de travail inline, utilisez le sous-élément EventString, dont vous pouvez éventuellement spécifier le poids associé. Lorsque vous utilisez ce sous-élément, vous le spécifiez pour l'élément parent Workload au lieu de spécifier un fichier ou une table de charge de travail distinct. Les exemples de code suivants illustrent la différence entre l'utilisation d'un élément EventString avec le fichier d'entrée XML et l'utilisation d'un fichier de charge de travail normal avec le fichier d'entrée XML :

Exemples

A. Spécification d'un fichier de charge de travail distinct avec l'élément Workload

<DTAInput>
...code removed
  <Workload>
    <File>MyWorkload.sql</File>
  </Workload>
...code removed
</DTAInput>

B. Spécification d'une charge de travail inline avec l'élément EventString

<DTAInput>
...code removed
  <Workload>
    <EventString Weight="100">
     SELECT * FROM MyTable1
     WHERE MyColumn1 &gt; 200
     ORDER BY MyColumn1
    </EventString>
    <EventString Weight="1">
     SELECT * FROM MyTable2
     WHERE MyColumn2 &gt; 200
     ORDER BY MyColumn2
    </EventString>
  </Workload>
...code removed
</DTAInput>

Dans l'exemple précédent, différents poids ont été spécifiés pour chaque requête dans l'élément EventString, à savoir, un poids de 100 et un autre de 1. Cela signifie que lorsque l'Assistant Paramétrage du Moteur de base de données paramètre ces requêtes, l'application traite la requête avec un poids de 100 comme s'il existait 100 occurrences de cette requête au lieu d'une seule avec un poids de 1. Dans l'exemple ci-dessus, l'Assistant Paramétrage du Moteur de base de données considère, pour des besoins d'évaluation, que la première requête est 100 fois plus importante que la deuxième. Notez également que le signe supérieur à (>) a été remplacé par le signe &gt car > est un caractère réservé d'une signification particulière en langage XML.

Pour obtenir un exemple de spécification de charge de travail inline avec l'élément EventString, consultez Exemple de fichier d'entrée XML avec une charge de travail Inline (Assistant Paramétrage de base de données).

Ignorer des constantes dans une charge de travail à l'aide de l'élément IgnoreConstantsInWorkload

Une charge de travail peut contenir des instructions faisant référence à des constantes. L'Assistant Paramétrage du Moteur de base de données peut utiliser des constantes dans une charge de travail pour effectuer des recommandations incluant des vues indexées avec des conditions de sélection ou pour limiter des fonctions de partition pour des index partitionnés.

Toutefois, la prise en compte de constantes dans une charge de travail par l'Assistant Paramétrage du Moteur de base de données peut parfois poser problème. Par exemple, considérez une charge de travail contenant l'instruction suivante :

UPDATE BankAccountTable
SET AccountBalance = AccountBalance - 1000.00
WHERE CustomerID = 
       (SELECT CustomerID FROM Customer WHERE CustomerName = 'Alice')

Cette charge de travail peut inclure la constante 'Alice' car la charge de travail a été capturée lorsqu'Alice a effectué une transaction. Si l'Assistant Paramétrage du Moteur de base de données utilise cette constante, il peut ne pas générer une recommandation efficace pour le paramétrage. Dans ce cas, il peut être utile de spécifier que l'Assistant Paramétrage du Moteur de base de données doit ignorer les constantes lorsqu'il utilise cette charge de travail pour paramétrer une base de données.

Il est possible de spécifier l'élément IgnoreConstantsInWorkload, qui réside sous l'élément TuningOptions, dans le fichier d'entrée XML pour forcer l'Assistant Paramétrage du Moteur de base de données à ignorer toutes les constantes dans une charge de travail. Lorsque cet élément est spécifié, les vues indexées que l'Assistant Paramétrage du Moteur de base de données peut recommander ne contiennent pas de conditions de sélection. De plus, les constantes utilisées dans les fonctions de partition seront dérivées de données uniquement et non pas des constantes contenues dans la charge de travail.

Utilisation d'un serveur de test en vue du paramétrage d'une charge de travail pour un serveur de production

Le paramétrage d'une charge de travail importante peut engendrer une charge conséquente au niveau du serveur concerné en raison des nombreux appels que l'Assistant Paramétrage du Moteur de base de données adresse généralement à l'optimiseur de requête lors du processus de paramétrage. Vous pouvez éviter ce problème en utilisant un serveur de test en plus de votre serveur de production. L'Assistant Paramétrage du Moteur de base de données prend en charge ce scénario d'une seule façon :

  1. Vous devez vous assurer que l'utilisateur désireux d'effectuer le paramétrage existe à la fois sur le serveur de production et sur le serveur de test. Si vous êtes membre du rôle de serveur fixe sysadmin, cette étape est inutile.

  2. Vous devez spécifier un serveur de test pour le paramétrage dans le fichier d'entrée XML parallèlement aux autres paramètres définissant votre session de paramétrage.

  3. Vous devez utiliser l'utilitaire de ligne de commande dta pour démarrer la session de paramétrage et débuter l'analyse de la charge de travail.

Lors de cette session de réglage sur le serveur de test, l'Assistant Paramétrage du Moteur de base de données n'adresse qu'un minimum d'appels à votre serveur de production, ceux-ci étant destinés à récupérer des informations sur son profil matériel, sur des métadonnées de la base de données et des statistiques, afin d'aider l'optimiseur de requête à optimiser avec précision les requêtes sur le serveur de test.

Dans ce scénario, vous paramétrez le serveur de test, qui est une reproduction de l'environnement de production. Après avoir reçu les recommandations concernant la configuration de la conception de la base de données en résultat du réglage de votre serveur test, vous pouvez les implémenter sur le serveur de production lors d'une période de maintenance. Ce procédé permet d'atténuer l'impact sur les performances imputable à l'Assistant Paramétrage du Moteur de base de données. De plus, il vous dispense de copier les données du serveur de production sur le serveur de test et vous épargne les dépenses nécessaires à la reproduction du puissant serveur de production dans votre environnement de test.

Pour spécifier un serveur de test, utilisez le sous-élément TestServer situé sous l'élément parent TuningOptions, comme illustré dans l'exemple suivant :

Exemple

<DTAInput>
...code removed
  <TuningOptions>
    <TestServer>MyTestServer</TestServer>
    <FeatureSet>IDX_IV</FeatureSet>
    <Partitioning>NONE</Partitioning>
    <KeepExisting>NONE</KeepExisting>
  </TuningOptions>
...code removed
</DTAInput>

Pour plus d'informations sur l'utilisation de cette fonctionnalité et obtenir un exemple supplémentaire de code, consultez Réduction de la charge de paramétrage du serveur de production.

Voir aussi

Autres ressources