Share via


Procédure : créer des charges de travail

Une charge de travail est un ensemble d'instructions Transact-SQL qui s'exécutent sur une ou plusieurs bases de données que vous voulez paramétrer. L'interface utilisateur graphique (GUI) de l'Assistant Paramétrage du moteur de base de données et l'utilitaire de ligne de commande dta utilisent des fichiers de trace, des tables de trace ou des scripts Transact-SQL en tant qu'entrée de charge de travail pour le paramétrage des bases de données. Les charges de travail peuvent également être intégrées à un fichier d'entrée XML, où vous pouvez également spécifier un poids pour chaque événement. Pour plus d'informations sur la spécification des charges de travail inline, consultez Utilisation d'un fichier d'entrée XML pour le paramétrage.

Vous pouvez utiliser l'éditeur de requête de Microsoft SQL Server Management Studio ou votre éditeur de texte préféré pour créer des charges de travail par script Transact-SQL. Pour créer des charges de travail par fichier de trace ou par table de trace, utilisez le SQL Server Profiler. L'Assistant Paramétrage du moteur de base de données analyse ces charges de travail pour recommander des index ou des stratégies de partitionnement qui amélioreront les performances des requêtes de votre serveur.

Notes

Lors de l'utilisation d'une table de trace comme charge de travail, cette table doit exister sur le même serveur que celui où l'Assistant Paramétrage du moteur de base de données effectue le paramétrage. Si vous créez une table de trace sur un autre serveur, alors déplacez-la sur celui où l'Assistant Paramétrage du moteur de base de données effectue le paramétrage.

Pour créer des charges de travail par script Transact-SQL à l'aide de l'éditeur de requête de SQL Server Management Studio

  1. Lancez l'éditeur de requête dans SQL Server Management Studio. Pour plus d'informations sur la réalisation de cette étape, consultez Modification de scripts et de fichiers dans SQL Server Management Studio.

  2. Tapez votre script Transact-SQL dans l'éditeur de requête. Ce script doit contenir un ensemble d'instructions Transact-SQL qui s'exécutent sur la ou les bases de données que vous voulez paramétrer. Enregistrez le fichier avec l'extension .sql. L'interface utilisateur de l'Assistant Paramétrage du moteur de base de données et l'utilitaire de ligne de commande peuvent utiliser ce script Transact-SQL comme charge de travail.

Pour créer des charges de travail par fichier de trace et par table de trace à l'aide de SQL Server Profiler

  1. Lancez le SQL Server Profiler au moyen de l'une des méthodes suivantes :

    • Dans le menu Démarrer, pointez sur Tous les programmes, sur Microsoft SQL Server 2005, sur Outils de performances, puis cliquez sur SQL Server Profiler.

    • Dans SQL Server Management Studio, cliquez sur le menu Outils, puis sur SQL Server Profiler.

  2. Créez un fichier ou une table de trace comme décrit dans les procédures suivantes, qui utilise le modèle Tuning du SQL Server Profiler :

Il est recommandé d'utiliser le modèle Tuning de SQL Server Profiler pour capturer les charges de travail pour l'Assistant Paramétrage du moteur de base de données.

Si vous souhaitez utiliser votre propre modèle, vérifiez que les événements de trace suivants sont capturés pour la version de SQL Server que vous utilisez.

SQL Server 2005 et versions ultérieures :

  • RPC:Completed

  • SQL:BatchCompleted

  • SP:StmtCompleted

SQL Server 2000:

  • RPC:Completed

  • SQL:BatchCompleted

Vous pouvez également utiliser les versions Starting de ces événements trace. Par exemple, SQL:BatchStarting. Toutefois, les versions Completed de ces événements trace contiennent la colonne Duration, qui permet à l'Assistant Paramétrage du moteur de base de données de paramétrer plus efficacement la charge de travail. L'Assistant Paramétrage du moteur de base de données ne paramètre pas d'autres types d'événements trace. Pour plus d'informations sur ces événements trace, consultez Catégorie d'événements Stored Procedures et Catégorie d'événements TSQL. Pour plus d'informations sur l'utilisation des procédures stockées SQL Trace pour créer une charge de travail par fichier de trace, consultez Procédure : créer une trace (Transact-SQL).

Charges de travail de fichiers ou de tables de trace contenant la colonne de données LoginName

L'Assistant Paramétrage du moteur de base de données soumet les requêtes Showplan dans le cadre du processus de paramétrage. Lorsqu'un fichier ou une table de trace contenant la colonne de données LoginName est consommé comme charge de travail, l'Assistant Paramétrage du moteur de base de données emprunte l'identité de l'utilisateur spécifié dans LoginName. Si cet utilisateur ne détient pas l'autorisation SHOWPLAN qui lui permet d'exécuter et de produire des Showplans pour les instructions contenues dans la trace, l'Assistant Paramétrage du moteur de base de données ne paramètre pas ces instructions. Pour plus d'informations sur la colonne de données LoginName, consultez Description d'événements à l'aide des colonnes de données. Pour plus d'informations sur l'autorisation SHOWPLAN, consultez Sécurité Showplan.

Pour éviter d'avoir à octroyer l'autorisation SHOWPLAN à chaque utilisateur spécifié dans la colonne LoginName de la trace

  1. Paramétrez la charge de travail de fichier de trace et de table de trace. Pour plus d'informations, consultez Procédure : paramétrer une base de données.

  2. Contrôlez dans le journal de paramétrage quelles instructions n'ont pas été paramétrées en raison d'autorisations inadéquates. Pour plus d'informations, consultez À propos du journal de paramétrage et Procédure : consultation des résultats d'un paramétrage.

  3. Créez une nouvelle charge de travail en supprimant la colonne LoginName dans les événements qui n'ont pas été paramétrés, puis sauvegardez uniquement les événements non paramétrés dans un nouveau fichier de trace ou une nouvelle table de trace. Pour plus d'informations sur la suppression des colonnes de données dans une trace, consultez Procédure : spécifier des événements pour un fichier de trace (SQL Server Profiler) ou Procédure : modification d'une trace existante (Transact-SQL).

  4. Soumettez de nouveau la nouvelle charge de travail sans la colonne LoginName à l'Assistant Paramétrage du moteur de base de données.

L'Assistant Paramétrage du moteur de base de données va procéder au paramétrage de cette nouvelle charge de travail, parce qu'aucune information de connexion n'est spécifiée dans la trace. S'il n'existe pas de LoginName pour une instruction, l'Assistant Paramétrage du moteur de base de données la paramètre en prenant l'identité de l'utilisateur qui a démarré la session de paramétrage (membre soit du rôle de serveur fixe sysadmin, soit du rôle de base de données fixe db_owner).