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.
Inicie sesión en el equipo del controlador Distributed Replay.
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"
Inicie una captura de seguimiento en el equipo de destino que ejecuta SQL Server mediante StartReplayCaptureTrace.sql.
En SQL Server Management Studio (SSMS), abra <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
Ejecute
Set @durationInMins=0
para que la captura de seguimiento no se detenga automáticamente después de un tiempo especificado.Para establecer el tamaño máximo de archivo por archivo de seguimiento, ejecute
Set @maxfilesize
. El tamaño recomendado es de 200 MB.Edite
@Tracefile
para establecer un nombre único para el archivo de seguimiento.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,dreplaychild3,dreplaychild4"
- Para supervisar el estado, ejecute el siguiente comando:
DReplay status -f 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
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 de acceso 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.
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. |