Compartir vía


Ejecute el Asistente para la Experimentación con Bases de Datos en la línea de comandos

Nota

Esta herramienta se retiró el 15 de diciembre de 2024 . Hemos dejado de dar soporte a esta herramienta para cualquier problema que surja 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 una línea de comandos.

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, StartCapturey StopCapture.

Iniciar una nueva captura de carga de trabajo usando el comando 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 <Authentication 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 Obligatorio. Nombre de archivo de seguimiento.
-x, --format Obligatorio. Formato del seguimiento (0 = Seguimiento, 1 = XEvents).
-d, --duration Obligatorio. Duración máxima de la captura, en minutos.
-l, --location Obligatorio. Ubicación de la carpeta de salida para almacenar archivos de seguimiento o XEvent en el equipo host.
-t, --type Valor predeterminado: 0. Tipo de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Instancia administrada de Azure SQL).
-h, --host Obligatorio. Nombre de host o nombre de instancia de SQL Server para iniciar la captura.
-e, --encrypt Valor predeterminado: True. Cifre la conexión a la instancia de SQL Server.
--trust Valor predeterminado: False. Confiar en el certificado de servidor al conectarse a la instancia de SQL Server.
-f, --databasename Nombre de la base de datos para filtrar los seguimientos; si no se especifica una, la captura se iniciará en todas las bases de datos.
-m, --authmode Valor predeterminado: 0. Modo de autenticación (0 = Windows, 1 = Autenticación sql).
-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, realice los pasos siguientes.

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

    1. En SQL Server Management Studio (SSMS), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.

    2. Ejecute Set @durationInMins=0 para que la captura de seguimiento no se detenga automáticamente después de un tiempo especificado.

    3. Para establecer el tamaño máximo de archivo por archivo de seguimiento, ejecute Set @maxfilesize. El tamaño recomendado es de 200 MB.

    4. Edite @Tracefile para establecer un nombre único para el archivo de seguimiento.

    5. 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,dreplaychild3,dreplaychild4"
    
    1. Para supervisar el estado, ejecute el siguiente comando:
    DReplay status -f 1
    
    1. Para detener la reproducción, por ejemplo, si ve que el porcentaje de pase 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 de acceso 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.

Uso de InBuilt Replay

Si usa InBuilt Replay, no tendrá que configurar Distributed Replay. La capacidad de utilizar InBuilt Replay en el símbolo del sistema está en camino. Actualmente, puede usar nuestra GUI para ejecutar la reproducción mediante InBuilt Replay.

Analizar trazas mediante el comando DEA

Para iniciar un nuevo análisis de seguimiento, 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 rastros con el comando DEA, puede usar las siguientes opciones:

Opción Descripción
-a, --traceA Obligatorio. Ruta de acceso al archivo de eventos de la instancia A. Ejemplo: C:\traces\Sql2008trace.trc. Si hay un lote de archivos, seleccione el primer archivo y DEA comprueba automáticamente los archivos de sustitución. Si los archivos están en blob, proporcione la ruta de acceso de la carpeta donde desea que los archivos de evento se almacenen localmente. Ejemplo: C:\traces\
-b, --traceB Obligatorio. Ruta de acceso al archivo de eventos de la instancia B. Ejemplo: C:\traces\Sql2014trace.trc. Si hay un lote de archivos, seleccione el primer archivo y DEA verifica automáticamente los archivos de reemplazo. Si los archivos están en blob, proporcione la ruta de acceso de la carpeta donde desea que los archivos de evento se almacenen localmente. Ejemplo: C:\traces\
-r, --ReportName Obligatorio. Nombre del análisis actual. El informe de análisis que se genera se identifica mediante este nombre.
-t, --type Valor predeterminado: 0. Tipo de SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Instancia administrada de Azure SQL).
-h, --host Obligatorio. Nombre de host o nombre de instancia de SQL Server.
-e, --encrypt Valor predeterminado: True. Cifre la conexión a la instancia de SQL Server.
--trust Valor predeterminado: False. Confiar en el certificado de servidor al conectarse a la instancia de SQL Server.
-m, --authmode Valor predeterminado: 0. Modo de autenticación (0 = Windows, 1 = Autenticación sql).
-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 de la traza 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 rastreo B está en un espacio de almacenamiento tipo blob. Si se usa, también debe especificar --bbu (Trace B Blob Url)
--abu Dirección URL de un blob para una instancia con clave SAS.
--bbu Dirección URL del blob para la instancia B con clave SAS.