Relire une trace dans l’Assistant Expérimentation de base de données
Remarque
Cet outil sera mis hors service le 15 décembre 2024. Nous cesserons de prendre en charge cet outil pour tous les problèmes qui pourront survenir et nous ne publierons plus de correctifs de bogues ni de mises à jour supplémentaires.
Dans l’Assistant Expérimentation de base de données (DEA), vous pouvez relire un fichier de trace capturée sur un environnement de test mis à niveau. Par exemple, songez à une charge de travail de production qui s’exécute sur SQL Server 2008 R2. Le fichier de trace de la charge de travail doit être relu deux fois : une fois sur un environnement avec la même version de SQL Server qui s’exécute en production et une seconde fois sur un environnement disposant de la version cible de SQL Server de mise à niveau, telle que SQL Server 2016.
Remarque
La relecture d’une trace nécessite que vous configurez manuellement des machines virtuelles ou des ordinateurs physiques pour exécuter des traces Distributed Replay. Pour plus d’informations, consultez Configurer Distributed Replay pour l’Assistant Expérimentation de base de données.
Configurer une relecture de trace pour la cible 1
Tout d’abord, vous devez effectuer une relecture de trace sur la cible 1, qui représente votre environnement de production existant.
Dans DEA, dans la barre de navigation de gauche, sélectionnez l’icône en forme de flèche, puis, sur la page Toutes les relectures, sélectionnez Nouvelle relecture.
Remarque
L’ordinateur du contrôleur Distributed Replay nécessite des autorisations pour le compte d’utilisateur que vous utilisez pour vous connecter à distance.
Sur la page Nouvelle relecture, sous Détails de la relecture, saisissez ou sélectionnez les informations suivantes :
Nom de la relecture : saisissez un nom pour la relecture de trace.
Format de trace source : spécifiez le format (Trace ou XEvents) du fichier de trace source.
Chemin d’accès complet au fichier source : spécifiez le chemin d’accès complet au fichier de trace source. Si vous utilisez DReplay, le fichier doit exister sur l’ordinateur servant de contrôleur DReplay et le compte d’utilisateur doit pouvoir accéder au fichier et au dossier.
Outil de relecture : spécifiez l’outil de relecture (DReplay ou InBuilt).
Nom de la machine du contrôleur : spécifiez le nom de l’ordinateur servant de contrôleur Distributed Replay.
Emplacement de la trace de relecture : spécifiez le chemin d’accès pour stocker les fichiers de trace/XEvents associés à la relecture de trace.
Remarque
Pour une base de données Azure SQL Database ou une instance Azure SQL Managed Instance, vous avez besoin de l’URI SAS du compte Stockage Blob Azure.
Vérifiez que vous avez restauré la ou les bases de données en cochant la case Oui, j’ai manuellement restauré la ou les bases de données.
Sous Détails de connexion à SQL Server, saisissez ou sélectionnez les informations suivantes :
- Type de serveur : spécifiez le type de SQL Server (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
- Nom du serveur : spécifiez le nom du serveur ou l’adresse IP de votre serveur SQL Server.
- Type d’authentification : pour le type d’authentification, choisissez Windows.
- Nom de la base de données : saisissez un nom pour une base de données sur laquelle lancer une trace côté serveur. Si vous ne spécifiez pas de base de données, la trace est capturée sur toutes les bases de données du serveur.
Sélectionnez ou désélectionnez les cases Chiffrer la connexion et Faire confiance au certificat du serveur en fonction de votre scénario.
Lancer la relecture de trace sur la cible 1
Une fois que vous avez saisi ou sélectionné les informations requises, sélectionnez Démarrer pour lancer la relecture de trace.
Si les informations que vous avez saisies sont valides, le processus Distributed Replay démarre. Dans le cas contraire, les zones de texte qui contiennent des informations incorrectes sont mises en surbrillance en rouge. Vérifiez que les valeurs que vous avez saisies sont correctes, puis sélectionnez Démarrer.
Vous pouvez surveiller le processus si besoin. Lorsque l’exécution de la relecture est terminée, DEA stocke les résultats dans un fichier à l’emplacement que vous avez spécifié.
Effectuer la relecture de trace par rapport à la cible 2
Une fois que vous avez terminé d’effectuer la relecture de trace par rapport à la cible 1, vous devez effectuer la même opération par rapport à votre deuxième cible, qui représente l’environnement de mise à niveau prévu.
Configurez une relecture de trace, cette fois à l’aide de détails associés à l’environnement de votre cible 2.
Lancer la relecture de trace sur la cible 2.
Vous pouvez surveiller le processus si besoin. Lorsque l’exécution de la relecture est terminée, DEA stocke les résultats dans un fichier à l’emplacement que vous avez spécifié.
Questions fréquentes sur la relecture de trace
Q : Quelles sont les autorisations de sécurité nécessaires pour lancer une capture de relecture sur mon serveur cible ?
- L’utilisateur Windows qui exécute l’opération de trace dans l’application DEA doit disposer de droits d’administrateur système sur l’ordinateur cible exécutant SQL Server. Ces droits utilisateur sont requis pour lancer une trace.
- Le compte de service sous lequel l’ordinateur cible exécutant SQL Server est en cours d’exécution doit avoir un accès en écriture au chemin du fichier de trace spécifié.
- Le compte de service sous lequel les services clients Distributed Replay sont en cours d’exécution doit disposer de droits utilisateur pour se connecter à l’ordinateur cible exécutant SQL Server et exécuter des requêtes.
Q : Puis-je lancer plusieurs relectures dans la même session ?
Oui, vous pouvez lancer plusieurs relectures et les suivre jusqu’à leur achèvement dans la même session.
Q : Puis-je lancer plusieurs relectures en parallèle ?
Oui, mais pas avec le même ensemble d’ordinateurs sélectionné dans Contrôleur plus Clients. Le contrôleur et les clients seront occupés. Configurez un ensemble distinct d’ordinateurs sous Contrôleur plus Clients pour lancer une relecture en parallèle.
Q : Combien de temps faut-il pour terminer une relecture ?
En règle générale, une relecture dure aussi longtemps que la trace source, en ajoutant à ce délai la durée nécessaire au prétraitement de la trace source. Toutefois, si les ordinateurs clients inscrits auprès du contrôleur ne sont pas suffisants pour gérer la charge générée à partir de la relecture, la relecture peut prendre plus de temps. Vous pouvez inscrire jusqu’à 16 ordinateurs clients auprès du contrôleur.
Q : Quelle est la taille des fichiers de trace cibles ?
Les fichiers de trace cibles peuvent être compris entre 5 et 15 fois la taille de la trace source. La taille du fichier est basée sur le nombre de requêtes exécutées. Par exemple, les objets blob de plan de requête peuvent être volumineux. Si les statistiques de ces requêtes changent souvent, des événements supplémentaires sont capturés.
Q : Pourquoi dois-je restaurer des bases de données ?
SQL Server est un système de gestion de base de données relationnelle avec état. Pour exécuter correctement un test A/B, l’état de la base de données doit être conservé en permanence. Sinon, vous pouvez voir des erreurs dans les requêtes lors de la relecture qui n’apparaîtront pas en production. Pour éviter ces erreurs, nous vous recommandons d’effectuer une sauvegarde juste avant la capture source. De même, la restauration de la sauvegarde sur l’ordinateur cible exécutant SQL Server est nécessaire pour éviter les erreurs lors de la relecture.
Q : Que signifie « pass % » sur la page de relecture ?
Pass % signifie que seul un certain pourcentage des requêtes a réussi. Vous pouvez diagnostiquer si le nombre d’erreurs correspond à vos attentes. Les erreurs peuvent être attendues ou les erreurs peuvent se produire parce que la base de données a perdu son intégrité. Si la valeur de pass % ne correspond pas à vos attentes, vous pouvez arrêter la trace et examiner le fichier de trace dans SQL Profiler pour voir quelles requêtes n’ont pas réussi.
Q : Comment puis-je examiner les événements de trace collectés lors de la relecture ?
Ouvrez un fichier de trace cible et affichez-le dans SQL Profiler. Ou, si vous souhaitez apporter des modifications à la capture de relecture, tous les scripts SQL Server sont disponibles sur C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Scripts\StartReplayCapture.sql.
Q : Quels événements de trace DEA collecte-t-il lors de la relecture ?
DEA capture les événements de trace qui contiennent des informations relatives aux performances. La configuration de capture se trouve dans le script StartReplayCaptureTrace.sql. Ces événements sont des événements de trace SQL Server courants répertoriés dans la documentation de référence relative à sp_trace_setevent (Transact-SQL).
Résoudre les problèmes de relecture de trace
Q : Pourquoi ne puis-je pas me connecter à l’ordinateur qui exécute SQL Server ?
- Vérifiez que le nom de l’ordinateur qui exécute SQL Server est valide. Pour vérifier cela, essayez de vous connecter au serveur à l’aide de SQL Server Management Studio (SSMS).
- Vérifiez que la configuration du pare-feu ne bloque pas les connexions à l’ordinateur exécutant SQL Server.
- Vérifiez que l’utilisateur dispose des droits d’utilisateur requis.
- Vérifiez que le compte de service du client Distributed Replay a accès à l’ordinateur exécutant SQL Server.
Vous pouvez obtenir plus de détails dans les journaux d’activité se trouvant dans %temp%\DEA. Si le problème persiste, contactez l’équipe produit.
Q : Pourquoi ne puis-je pas me connecter au contrôleur Distributed Replay ?
- Vérifiez que le service du contrôleur Distributed Replay est en cours d’exécution sur la machine du contrôleur. Pour vérifier cela, utilisez les outils de gestion de Distributed Replay (exécutez la commande
dreplay.exe status -f 1
). - Si la relecture est lancée à distance :
- Vérifiez que l’ordinateur qui exécute DEA peut effectuer un test ping sur le contrôleur. Vérifiez que les paramètres du pare-feu autorisent les connexions conformément aux instructions de la page Configurer l’environnement de relecture. Pour plus d’informations, consultez l’article SQL Server Distributed Replay.
- Vérifiez que les autorisations DCOM « Lancement distant » et « Activation distante » sont accordées à l’utilisateur du contrôleur Distributed Replay.
- Assurez-vous que les droits d’utilisateur DCOM « Accès à distance » sont accordés à l’utilisateur du contrôleur Distributed Replay.
Q : Le chemin d’accès au fichier de trace existe sur mon ordinateur. Pourquoi le contrôleur Distributed Replay ne parvient pas à le trouver ?
Distributed Replay peut accéder uniquement aux ressources de disque local. Vous devez copier les fichiers de trace source sur la machine du contrôleur Distributed Replay avant de lancer la relecture. En outre, vous devez fournir le chemin d’accès sur la page DEA Nouvelle relecture.
Les chemins d’accès UNC ne sont pas compatibles avec Distributed Replay. Les chemins d’accès Distributed Replay doivent être locaux et absolus pour le premier fichier de trace source, y compris l’extension.
Q : Pourquoi ne puis-je pas rechercher des fichiers sur la page Nouvelle relecture ?
Puisqu’il est impossible de rechercher des dossiers sur un ordinateur distant, il n’est pas utile de rechercher des fichiers. Il est plus efficace de faire un copier/coller des chemins absolus.
Q : J’ai lancé une relecture avec une trace, mais Distributed Replay n’a relu aucun événement. Pourquoi ?
Ce problème peut se produire, car le fichier de trace ne dispose pas des événements pouvant être relus ou des informations sur la relecture des événements. Vérifiez si le chemin d’accès au fichier de trace fourni pointe vers un fichier de trace source. Le fichier de trace source est créé à l’aide de la configuration fournie dans le script StartCaptureTrace.sql.
Q : Je reçois le message « Une erreur inattendue s’est produite ! » lorsque j’essaie de prétraiter mes fichiers de trace à l’aide du contrôleur SQL Server 2017 Distributed Replay. Pourquoi ?
Ce problème est connu dans la version RTM de SQL Server 2017. Pour plus d’informations, consultez Erreur inattendue lors de l’utilisation de la fonctionnalité DReplay pour relire une trace capturée dans SQL Server 2017.
Le problème a été résolu dans la dernière mise à jour cumulative 1 pour SQL Server 2017. Téléchargez et installez la dernière mise à jour cumulative 1 pour SQL Server 2017.
Voir aussi
- Pour créer un rapport d’analyse qui vous aide à obtenir des informations sur les modifications proposées, consultez Créer des rapports.