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.

  1. Inicie sesión en el equipo del controlador Distributed Replay.

  2. 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"
    
  3. 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.

  4. 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
    
  5. Detenga la captura de seguimiento en la instancia de SQL Server de destino.

  6. En SSMS, abra <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.

  7. Edite @Tracefile para que coincida con la ruta del archivo de seguimiento en el equipo de destino que ejecuta SQL Server.

  8. 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