Share via


Relire une trace dans Assistant Expérimentation de base de données

Dans Assistant Expérimentation de base de données (DEA), vous pouvez relire un fichier de trace capturé sur un environnement de test mis à niveau. Par exemple, considérez 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 relecté 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 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.

  1. Dans DEA, dans la barre de navigation de gauche, sélectionnez l’icône de flèche, puis, dans la page Toutes les relectures , sélectionnez Nouvelle relecture.

    Create a replay in DEA

    Remarque

    L’ordinateur du contrôleur Distributed Replay nécessite des autorisations pour le compte d’utilisateur que vous utilisez pour vous connecter à distance.

  2. Dans la page Nouvelle relecture, sous Détails de relecture, entrez ou sélectionnez les informations suivantes :

    • Nom de la relecture : entrez 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 complet du 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 nécessite l’accès au fichier et au dossier.

    • Outil de relecture : spécifiez l’outil de relecture (DReplay ou InBuilt).

    • Nom de l’ordinateur du contrôleur : spécifiez le nom de l’ordinateur servant de contrôleur Distributed Replay Controller.

    • Emplacement de 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 azure SQL Database ou Azure SQL Managed Instance, vous devez fournir l’URI SAP du compte Stockage Blob Azure.

  3. Vérifiez que vous avez restauré la ou les bases de données en sélectionnant oui, j’ai restauré manuellement la ou les bases de données case activée zone.

  4. Sous détails de connexion SQL Server, entrez 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, sélectionnez Windows.
    • Nom de la base de données : entrez un nom pour une base de données sur laquelle démarrer 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 sur le serveur.
  5. Sélectionnez ou désélectionnez les zones chiffrer la connexion et le certificat de serveur d’approbation case activée en fonction de votre scénario.

    New Replay page

Démarrer la relecture de trace sur la cible 1

  • Après avoir entré ou sélectionné les informations requises, sélectionnez Démarrer pour lancer la relecture de trace.

    Si les informations que vous avez entrées sont valides, le processus Distributed Replay démarre. Dans le cas contraire, les zones de texte qui ont des informations incorrectes sont mises en surbrillance en rouge. Vérifiez que les valeurs que vous avez entrées sont correctes, puis sélectionnez Démarrer.

    Replay progress against target 1

    Vous pouvez surveiller le processus si nécessaire. Lorsque la relecture est terminée, DEA stocke les résultats dans un fichier à l’emplacement que vous avez spécifié.

    Replay against target 1 complete

Effectuer la relecture de trace sur la cible 2

Une fois que vous avez terminé d’effectuer la relecture de trace sur 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.

  1. Configurez une relecture de trace, cette fois à l’aide de détails associés à votre environnement cible 2.

  2. Démarrez la relecture de trace sur la cible 2.

    Vous pouvez surveiller le processus si nécessaire. Lorsque la relecture est terminée, DEA stocke les résultats dans un fichier à l’emplacement que vous avez spécifié.

Forum aux questions sur la relecture de trace

Q : Quelles autorisations de sécurité dois-je utiliser pour démarrer 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 démarrer une trace.
  • Le compte de service sous lequel l’ordinateur cible exécutant SQL Server est en cours d’exécution doit avoir accès en écriture au chemin du fichier de trace spécifié.
  • Le compte de service sous lequel les services du client Distributed Replay s’exécutent doit disposer de droits utilisateur pour se connecter à l’ordinateur cible exécutant SQL Server et exécuter des requêtes.

Q : Puis-je démarrer plusieurs relectures dans la même session ?

Oui, vous pouvez démarrer plusieurs relectures et les suivre pour terminer la même session.

Q : Puis-je démarrer 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 Client pour démarrer une relecture parallèle.

Q : Combien de temps faut-il pour terminer une relecture ?

Une relecture prend généralement le même temps que la trace source, ainsi que le temps nécessaire pour prétraiter la trace source. Toutefois, si les ordinateurs clients inscrits auprès du contrôleur ne sont pas suffisants pour gérer la charge produite à 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, d’autres événements 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é à tout moment. 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 « passer % » sur la page de relecture ?

Le pourcentage de passe signifie que seuls un pourcentage de requêtes passées. Vous pouvez diagnostiquer si le nombre d’erreurs est attendu. 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 % n’est pas ce que vous attendez, 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\Assistant Expérimentation de base de données\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 classiques répertoriés dans la documentation de référence sp_trace_setevent (Transact-SQL).

Résoudre les problèmes de relecture de trace

Q : Pourquoi ne puis-je pas me connecter à l’ordinateur exécutant SQL Server ?

  • Vérifiez que le nom de l’ordinateur exécutant SQL Server est valide. Pour confirmer, 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é 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 Distributed Replay Controller s’exécute sur l’ordinateur du contrôleur. Pour vérifier, utilisez les outils de gestion Distributed Replay (exécutez la commande dreplay.exe status -f 1).
  • Si la relecture est démarrée à distance :
    • Vérifiez que l’ordinateur exécutant DEA peut effectuer un test ping sur le contrôleur. Vérifiez que les paramètres de pare-feu autorisent les connexions conformément aux instructions de la page Configurer l’environnement replay. Pour plus d’informations, consultez l’article SQL Server Distributed Replay.
    • Vérifiez que le lancement à distance et l’activation à distance DCOM sont autorisés pour l’utilisateur du contrôleur Distributed Replay.
    • Assurez-vous que les droits utilisateur d’accès à distance DCOM sont autorisés pour l’utilisateur du contrôleur Distributed Replay.

Q : Le chemin du fichier de trace existe sur mon ordinateur. Pourquoi le contrôleur Distributed Replay ne peut-il pas le trouver ?

Distributed Replay peut accéder uniquement aux ressources de disque local. Vous devez copier les fichiers de trace source sur l’ordinateur du contrôleur Distributed Replay avant de démarrer la relecture. En outre, vous devez fournir le chemin d’accès sur la page DEA New Replay .

Les chemins UNC ne sont pas compatibles avec Distributed Replay. Les chemins 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 ?

Comme nous ne pouvons pas parcourir les dossiers sur un ordinateur distant, la navigation pour les fichiers n’est pas utile. Il est plus efficace de copier et coller les chemins absolus.

Q : J’ai commencé à relire avec une trace, mais Distributed Replay n’a relecté aucun événement. Pourquoi ?

Ce problème peut se produire, car le fichier de trace n’a pas les événements relectibles ou les informations sur la relecture des événements. Vérifiez si le chemin d’accès du 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 : J’ai vu « 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 lorsque vous utilisez 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 la dernière version de la mise à jour cumulative 1 pour SQL Server 2017.

Voir aussi

  • Pour créer un rapport d’analyse qui vous aide à obtenir des insights sur les modifications proposées, consultez Créer des rapports.