Partager via


Exécuter l’Assistant Expérimentation de base de données à l’invite de commandes

Cet article explique comment capturer une trace dans l’Assistant Expérimentation de base de données (DEA), puis analyser les résultats, à partir d’une invite de commandes.

Note

Pour en savoir plus sur chaque opération DEA, exécutez la commande suivante :

Deacmd.exe -o <operation> --help

Un nom d’opération est requis. Les opérations valides sont Analysis, StartCapture et StopCapture.

Démarrer une nouvelle capture de charge de travail à l’aide de la commande DEA

Pour démarrer une nouvelle capture de charge de travail, à l’invite de commandes, exécutez la commande suivante :

Deacmd.exe -o StartCapture -n <Trace FileName> -x <Trace Format> -h <SQLServerInstance> -f <database name> -e <Encrypt Connection> -m <Authetication Mode> -u <user name> -p <password> -l <Location of Output Folder> -d <duration>

Par exemple :

Deacmd.exe -o StartCapture -n sql2008capture -x 0 -h localhost -f adventureworks -e --trust -m 0 -l c:\test  -d 60

Lorsque vous démarrez une nouvelle capture de charge de travail avec la Deacmd.exe commande, vous pouvez utiliser les options suivantes :

Option Description
-n, --name Obligatoire. Nom du fichier de trace.
-x, --format Obligatoire. Format de la trace (0 = Trace, 1 = XEvents).
-d, --duration Obligatoire. Durée maximale de la capture, en minutes.
-l, --location Obligatoire. Emplacement du dossier de sortie pour stocker des fichiers de trace ou XEvent sur l’ordinateur hôte.
-t, --type Par défaut : 0. Type de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Azure SQL Managed Instance).
-h, --host Obligatoire. Nom d’hôte ou nom d’instance SQL Server pour démarrer la capture.
-e, --encrypt Par défaut : True. Chiffrer la connexion à l’instance SQL Server.
--trust Valeur par défaut : False. Approuver le certificat de serveur lors de la connexion à l’instance SQL Server.
-f, --databasename Nom de la base de données pour filtrer vos traces, s’il n’est pas spécifié, la capture démarre sur toutes les bases de données.
-m, --authmode Par défaut : 0. Mode d’authentification (0 = Windows, 1 = Authentification Sql).
-u, --username Nom d’utilisateur pour la connexion à SQL Server.
-p, --password Mot de passe pour la connexion à SQL Server.

Relire une capture de charge de travail

Si vous utilisez Distributed Replay, procédez comme suit.

  1. Connectez-vous à l’ordinateur du contrôleur Distributed Replay.

  2. Pour convertir la trace de charge de travail que vous avez capturée à l’aide de la commande DEA en fichier IRF, exécutez la commande suivante :

    DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
    
  3. Démarrez une capture de trace sur l’ordinateur cible exécutant SQL Server à l’aide de StartReplayCaptureTrace.sql.

    a. Dans SQL Server Management Studio (SSMS), ouvrez <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.

    b. Exécutez Set @durationInMins=0 afin que la capture de trace ne s’arrête pas automatiquement après une heure spécifiée.

    c. Pour définir la taille de fichier maximale par fichier de trace, exécutez Set @maxfilesize. La taille recommandée est de 200 Mo.

    d. Modifiez @Tracefile pour définir un nom unique pour votre fichier de trace.

    e. Modifiez @dbname pour spécifier un nom de base de données si la charge de travail doit être capturée uniquement sur une base de données spécifique. Par défaut, la charge de travail sur l’ensemble du serveur est capturée.

  4. Pour relire le fichier IRF sur l’instance sql Server cible, exécutez la commande suivante :

    DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaycild3,dreplaychild4"
    

    a. Pour surveiller l’état, exécutez la commande suivante :

    DReplay status -f 1
    

    b. Pour arrêter la relecture, par exemple si vous voyez que le pourcentage de passe est inférieur à prévu, exécutez la commande suivante :

    DReplay cancel
    
  5. Arrêtez la capture de trace sur l’instance SQL Server cible.

  6. Dans SSMS, ouvrez <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.

  7. Modifiez @Tracefile pour correspondre au chemin du fichier de trace sur l’ordinateur cible exécutant SQL Server.

  8. Exécutez le script sur l’ordinateur cible exécutant SQL Server.

Utilisation de InBuilt Replay

Si vous utilisez InBuilt Replay, vous n’aurez pas besoin de configurer Distributed Replay. La possibilité d’utiliser InBuilt Replay à l’invite de commandes est en cours. Actuellement, vous pouvez utiliser notre interface utilisateur graphique pour exécuter la relecture à l’aide de InBuilt Replay.

Analyser les traces à l’aide de la commande DEA

Pour démarrer une nouvelle analyse de trace, exécutez la commande suivante :

Deacmd.exe -o analysis -a <Target1 trace filepath> -b <Target2 trace filepath> -r reportname -h <SQLserverInstance> -e <encryptconnection> -u <username>

Par exemple :

Deacmd.exe -o analysis -a C:\Trace\SQL2008Source\Trace.trc -b C:\ Trace\SQL2014Trace\Trace.trc -r upgrade20082014 -h localhost -e

Pour afficher les rapports d’analyse de ces fichiers de trace, vous devez utiliser l’interface graphique graphique pour afficher les graphiques et les métriques organisées. Toutefois, la base de données d’analyse est écrite dans l’instance SQL Server spécifiée. Vous pouvez donc également interroger directement les tables d’analyse générées.

Lors de l’analyse des traces à l’aide de la commande DEA, vous pouvez utiliser les options suivantes :

Option Description
-a, --traceA Obligatoire. Chemin d’accès au fichier d’événements de l’instance A. Exemple : C:\traces\Sql2008trace.trc. S’il existe un lot de fichiers, sélectionnez le premier fichier et DEA vérifie automatiquement les fichiers de substitution. Si les fichiers se trouvent dans un objet blob, fournissez le chemin d’accès au dossier dans lequel vous souhaitez stocker les fichiers d’événements localement. Exemple : C:\traces\
-b, --traceB Obligatoire. Chemin d’accès au fichier d’événements de l’instance B. Exemple : C:\traces\Sql2014trace.trc. S’il existe un lot de fichiers, sélectionnez le premier fichier et DEA vérifie automatiquement les fichiers de substitution. Si les fichiers se trouvent dans un objet blob, fournissez le chemin d’accès au dossier dans lequel vous souhaitez stocker les fichiers d’événements localement. Exemple : C:\traces\
-r, --ReportName Obligatoire. Nom de l’analyse actuelle. Le rapport d’analyse généré est identifié par ce nom.
-t, --type Par défaut : 0. Type de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Azure SQL Managed Instance).
-h, --host Obligatoire. Nom d’hôte ou nom d’instance SQL Server.
-e, --encrypt Par défaut : True. Chiffrer la connexion à l’instance SQL Server.
--trust Valeur par défaut : False. Approuver le certificat de serveur lors de la connexion à l’instance SQL Server.
-m, --authmode Par défaut : 0. Mode d’authentification (0 = Windows, 1 = Authentification Sql).
-u, --username Nom d’utilisateur pour la connexion à SQL Server.
--p Mot de passe pour la connexion à SQL Server.
--ab Valeur par défaut : False. L’emplacement de stockage de la trace A se trouve dans l’objet blob. Si elle est utilisée, doit également spécifier --abu (Trace A Blob Url)
--bb Valeur par défaut : False. L’emplacement de stockage de la trace B se trouve dans l’objet blob. Si elle est utilisée, doit également spécifier --bbu (Trace B Blob Url)
--abu URL d’objet blob pour une instance avec clé SAP.
--bbu URL d’objet blob pour une instance B avec une clé SAP.

Voir aussi