Exécuter l’Assistant Expérimentation de base de données à l’invite de commandes
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.
Cet article décrit 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.
Remarque
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.
Lancer une nouvelle capture de charge de travail à l’aide de la commande DEA
Pour lancer 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 <Authentication 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 lancez une nouvelle capture de charge de travail avec la commande Deacmd.exe
, 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 lancer la capture. |
-e , --encrypt |
Valeur par défaut : True Chiffrer la connexion sur l’instance SQL Server. |
--trust |
Valeur par défaut : False. Faire confiance au 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 = Sql Authentication). |
-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.
Connectez-vous à l’ordinateur contrôleur de Distributed Replay.
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"
Lancez 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 un laps de temps spécifié.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 est capturée sur l’ensemble du serveur.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 réussite est inférieur à vos attentes, exécutez la commande suivante :
DReplay cancel
Arrêtez la capture de trace sur l’instance SQL Server cible.
Dans SSMS, ouvrez <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.
Modifiez
@Tracefile
pour correspondre au chemin d’accès du fichier de trace sur l’ordinateur cible exécutant SQL Server.Exécutez le script sur l’ordinateur cible exécutant SQL Server.
Utilisation de InBuilt Replay
Si vous utilisez InBuilt Replay, vous n’avez pas besoin de configurer Distributed Replay. Il est possible d’utiliser InBuilt Replay à l’invite de commandes. 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 lancer 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 utilisateur 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, indiquez le chemin d’accès au dossier dans lequel vous souhaitez stocker localement les fichiers d’événements. 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, indiquez le chemin d’accès au dossier dans lequel vous souhaitez stocker localement les fichiers d’événements. 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 de l’instance SQL Server. |
-e , --encrypt |
Valeur par défaut : True Chiffrer la connexion sur l’instance SQL Server. |
--trust |
Valeur par défaut : False. Faire confiance au certificat de serveur lors de la connexion à l’instance SQL Server. |
-m , --authmode |
Par défaut : 0. Mode d’authentification (0 = Windows, 1 = Sql Authentication). |
-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. En cas d’utilisation, vous devez é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. En cas d’utilisation, vous devez également spécifier --bbu (Trace B Blob Url) |
--abu |
URL d’objet blob pour l’instance A avec une clé SAP. |
--bbu |
URL d’objet blob pour l’instance B avec une clé SAP. |
Voir aussi
- Pour plus d’informations sur l’utilisation de DEA, consultez Vue d’ensemble de l’Assistant Expérimentation de base de données.