Ejecutar el Asistente para experimentación con bases de datos en un símbolo del sistema
Nota:
Esta herramienta se retirará el 15 de diciembre de 2024. Dejaremos de admitir esta herramienta para cualquier problema que pueda surgir y no emitiremos ninguna corrección de errores ni actualizaciones adicionales.
En este artículo se describe cómo capturar un seguimiento en el Asistente para experimentación con bases de datos (DEA) y, a continuación, analizar los resultados, todo desde un símbolo del sistema.
Nota:
Para obtener más información sobre cada operación de DEA, ejecute el siguiente comando:
Deacmd.exe -o <operation> --help
Se requiere un nombre de operación. Las operaciones válidas son Analysis, StartCapture y StopCapture.
Iniciar una nueva captura de carga de trabajo mediante el comando de DEA
Para iniciar una nueva captura de carga de trabajo, ejecute el siguiente comando en un símbolo del sistema:
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>
Por ejemplo:
Deacmd.exe -o StartCapture -n sql2008capture -x 0 -h localhost -f adventureworks -e --trust -m 0 -l c:\test -d 60
Al iniciar una nueva captura de carga de trabajo con el comando Deacmd.exe
, puede usar las siguientes opciones:
Opción | Descripción |
---|---|
-n , --name |
Necesario. Nombre del archivo de seguimiento. |
-x , --format |
Necesario. Formato del seguimiento (0 = Trace, 1 = XEvents). |
-d , --duration |
Necesario. Duración máxima de la captura en minutos. |
-l , --location |
Necesario. Ubicación de la carpeta de salida para almacenar archivos de seguimiento o XEvent en el equipo host. |
-t , --type |
Opción predeterminada: 0. Tipo de instancia de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Azure SQL Managed Instance). |
-h , --host |
Necesario. Nombre de host o nombre de instancia de SQL Server para iniciar la captura. |
-e , --encrypt |
Valor predeterminado: True Cifrado de conexión en la instancia de SQL Server. |
--trust |
Valor predeterminado: False. Certificado de servidor de confianza al conectarse a la instancia de SQL Server. |
-f , --databasename |
Nombre de la base de datos para filtrar los seguimientos, si no se especifica que la captura se inicia en todas las bases de datos. |
-m , --authmode |
Opción predeterminada: 0. Modo de autenticación (0 = Windows, 1 = Sql Authentication). |
-u , --username |
Nombre de usuario para conectarse a SQL Server. |
-p , --password |
Contraseña para conectarse a SQL Server. |
Reproducir una captura de carga de trabajo
Si usa Distributed Replay, siga estos pasos.
Inicie sesión en el equipo del controlador Distributed Replay.
Para convertir el seguimiento de carga de trabajo que capturó mediante el comando de DEA en un archivo IRF, ejecute el siguiente comando:
DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
Inicie una captura de seguimiento en el equipo de destino que ejecuta SQL Server mediante StartReplayCaptureTrace.sql.
a. En SQL Server Management Studio (SSMS), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
b. Ejecute
Set @durationInMins=0
para que la captura de seguimiento no se detenga automáticamente después de un tiempo especificado.c. Para establecer el tamaño máximo de archivo por archivo de seguimiento, ejecute
Set @maxfilesize
. Se recomienda un tamaño de 200 MB.d. Edite
@Tracefile
para establecer un nombre único para el archivo de seguimiento.e. Edite
@dbname
para especificar un nombre de base de datos si la carga de trabajo solo debe capturarse en una base de datos específica. De forma predeterminada, se captura la carga de trabajo en todo el servidor.Para reproducir el archivo IRF en la instancia de SQL Server de destino, ejecute el siguiente comando:
DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaycild3,dreplaychild4"
a. Para supervisar el estado, ejecute el siguiente comando:
DReplay status -f 1
b. Para detener la reproducción, por ejemplo, si ve que el porcentaje de superación es inferior al esperado, ejecute el siguiente comando:
DReplay cancel
Detenga la captura de seguimiento en la instancia de SQL Server de destino.
En SSMS, abra <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.
Edite
@Tracefile
para que coincida con la ruta del archivo de seguimiento en el equipo de destino que ejecuta SQL Server.Ejecute el script en el equipo de destino que ejecuta SQL Server.
Usar InBuilt Replay
Si usa InBuilt Replay, no tendrá que configurar Distributed Replay. La capacidad de usar InBuilt Replay en el símbolo del sistema se admitirá en el futuro. Actualmente, puede usar nuestra GUI para ejecutar la reproducción mediante InBuilt Replay.
Analizar seguimientos mediante el comando de DEA
Para iniciar un nuevo análisis de seguimientos, ejecute el siguiente comando:
Deacmd.exe -o analysis -a <Target1 trace filepath> -b <Target2 trace filepath> -r reportname -h <SQLserverInstance> -e <encryptconnection> -u <username>
Por ejemplo:
Deacmd.exe -o analysis -a C:\Trace\SQL2008Source\Trace.trc -b C:\ Trace\SQL2014Trace\Trace.trc -r upgrade20082014 -h localhost -e
Para ver los informes de análisis de estos archivos de seguimiento, debe usar la GUI para ver gráficos y métricas organizadas. Sin embargo, la base de datos de análisis se escribe en la instancia de SQL Server especificada, por lo que también puede consultar directamente las tablas de análisis generadas.
Al analizar seguimientos mediante el comando de DEA, puede usar las siguientes opciones:
Opción | Descripción |
---|---|
-a , --traceA |
Necesario. Ruta del archivo de eventos de la instancia A. Ejemplo: C:\traces\Sql2008trace.trc. Si hay un lote de archivos, seleccione automáticamente el primer archivo y DEA comprobará automáticamente si hay archivos de sustitución incremental. Si los archivos están en un BLOb, proporcione la ruta de la carpeta en la que desea que los archivos de eventos se almacenen localmente. Ejemplo: C:\traces\ |
-b , --traceB |
Necesario. Ruta del archivo de eventos de la instancia B. Ejemplo: C:\traces\Sql2014trace.trc. Si hay un lote de archivos, seleccione automáticamente el primer archivo y DEA comprobará automáticamente si hay archivos de sustitución incremental. Si los archivos están en un BLOb, proporcione la ruta de la carpeta en la que desea que los archivos de eventos se almacenen localmente. Ejemplo: C:\traces\ |
-r , --ReportName |
Necesario. Nombre del análisis actual. El informe de análisis que se genera se identifica mediante este nombre. |
-t , --type |
Opción predeterminada: 0. Tipo de instancia de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Azure SQL Managed Instance). |
-h , --host |
Necesario. Nombre de host o nombre de la instancia de SQL Server. |
-e , --encrypt |
Valor predeterminado: True Cifrado de conexión en la instancia de SQL Server. |
--trust |
Valor predeterminado: False. Certificado de servidor de confianza al conectarse a la instancia de SQL Server. |
-m , --authmode |
Opción predeterminada: 0. Modo de autenticación (0 = Windows, 1 = Sql Authentication). |
-u , --username |
Nombre de usuario para conectarse a SQL Server. |
--p |
Contraseña para conectarse a SQL Server. |
--ab |
Valor predeterminado: False. La ubicación de almacenamiento del seguimiento A está en un BLOb. Si se usa, también debe especificar --abu (Trace A Blob Url) |
--bb |
Valor predeterminado: False. La ubicación de almacenamiento del seguimiento B está en un BLOb. Si se usa, también debe especificar --bbu (Trace B Blob Url) |
--abu |
Dirección URL del BLOb de la instancia A con clave SAS. |
--bbu |
Dirección URL del BLOb de la instancia B con clave SAS. |
Consulte también
- Para obtener más información sobre cómo usar DEA, consulte Información general sobre el Asistente para experimentación con bases de datos.