Utilidades del lenguaje de marcado de reproducción (RML) para SQL Server
En este artículo se describe un grupo de herramientas que usan los profesionales de soporte técnico para solucionar problemas de Microsoft SQL Server.
Versión del producto original: SQL Server
Número de KB original: 944837
¿Qué son las utilidades RML?
Las utilidades de RML son un conjunto de herramientas de diagnóstico para solucionar problemas de rendimiento y ayudar a solucionar problemas de rendimiento en SQL Server. Puede pensar en ellos como herramientas similares a las que ayudan a los técnicos médicos a procesar los resultados de rayos X, RMN y CT Scan. Las utilidades rmL se usan para procesar y visualizar los datos de diagnóstico de rendimiento recopilados por los usuarios. Normalmente, los ingenieros de soporte técnico de SQL Server usan estas herramientas para procesar seguimientos de diagnóstico al solucionar un problema de rendimiento. Además, los desarrolladores y administradores de bases de datos usan con frecuencia las utilidades rmL para analizar y mejorar su carga de trabajo de consulta de SQL Server desde sus entornos de prueba y producción. Hay tres utilidades en la suite: ReadTrace, Reporter y Ostress.
-
ReadTrace toma seguimientos de eventos extendidos o seguimientos de seguimiento de SQL que un usuario crea para diagnosticar un problema de SQL Server o analizar el rendimiento de la carga de trabajo. ReadTrace importa los seguimientos en tablas de una base de datos de SQL Server especificada por el usuario. Piense en ReadTrace como una herramienta de transformación: toma archivos binarios
.XEL
o.TRC
e importa en tablas para que se puedan analizar más fácilmente a través de consultas SQL. ReadTrace también puede generar lenguaje de marcado de reproducción (. ARCHIVOS RML) que Ostress puede usar para la reproducción de cargas de trabajo. - Reporter es una herramienta de visualización y informe que se conecta a la base de datos de usuario que crea ReadTrace. El periodista ejecuta consultas SQL en la base de datos y muestra resúmenes de informes de SSRS sin conexión de los seguimientos originales de Eventos extendidos o Generador de perfiles. Por ejemplo, un informe podría mostrar qué consultas ejecutaron más tiempo en una carga de trabajo capturada determinada, que usó la mayor parte de la CPU y que realizó la mayoría de las lecturas.
-
Ostress es una herramienta de simulación de pruebas de esfuerzo.
Ostress.exe usa seguimientos de diagnóstico de Eventos extendidos o SQL Profiler como entrada. También puede aceptar consultas proporcionadas por el usuario como entradas. A continuación, Ostress reproduce esos seguimientos o consultas en una instancia de SQL Server que el usuario elige. El objetivo es simular el estrés. Por ejemplo, si proporciona una consulta OStress como
select * from table1
, puede indicarle que ejecute la consulta 100 veces en 50 conexiones simultáneamente. Además de las consultas individuales, Ostress puede usar archivos RML especiales que ReadTrace genera para realizar la reproducción. - OStress Replay Control Agent (ORCA) ayuda a Ostress a simular una prueba de esfuerzo mediante la reproducción de una carga de trabajo de archivos RML. No interactúa directamente con ORCA, pero usa Ostress.
Para obtener una descripción completa de todas las herramientas y el uso de ejemplo, consulte el archivo de ayuda de RML que se incluye en las utilidades de RML para SQL Server.
¿Cómo son útiles las utilidades RML?
Puede usar utilidades de RML para SQL Server para realizar las siguientes tareas:
- Determine qué aplicación, base de datos, inicio de sesión de SQL Server o consulta usa el máximo de recursos.
- Determine si se cambia el plan de ejecución de un lote al capturar el seguimiento del lote. Además, puede usar utilidades de RML para SQL Server para determinar cómo ejecuta SQL Server estos planes.
- Determine qué consultas se ejecutan lentamente.
Después de capturar un seguimiento para una instancia de SQL Server, puede usar utilidades RML para SQL Server para reproducir el archivo de seguimiento en otra instancia de SQL Server. Si también captura el seguimiento durante la reproducción, puede usar utilidades RML para SQL Server para comparar el nuevo archivo de seguimiento con el archivo de seguimiento original. Puede usar esta técnica para probar cómo se comporta SQL Server después de aplicar los cambios. Por ejemplo, puede usar esta técnica para probar cómo se comporta SQL Server después de realizar las siguientes tareas:
- Instale un Service Pack de SQL Server.
- Instale una actualización acumulativa de SQL Server.
- Actualice un procedimiento almacenado o una función.
- Actualice o cree un índice.
Ventajas de las utilidades de RML para SQL Server
Las utilidades rmL para SQL Server son útiles si desea simular pruebas de aplicaciones cuando no es práctico o imposible probar mediante la aplicación real. En un entorno de prueba, puede ser difícil generar la misma carga de usuario que existe en el entorno de producción. Puede usar utilidades de RML para SQL Server para reproducir una carga de trabajo de producción en un entorno de prueba y evaluar el efecto de rendimiento de los cambios. Por ejemplo, puede probar una actualización a SQL Server 2008 o a la aplicación de un Service Pack de SQL Server. Además, puede usar utilidades de RML para SQL Server para analizar y comparar varias cargas de trabajo de reproducción. Realizar este tipo de análisis de regresión manualmente es difícil.
El archivo de Ayuda contiene un tema de inicio rápido. En este tema se incluye un breve ejercicio que le familiariza con cada herramienta RML. Para abrir el archivo de Ayuda, seleccione Start All Programs RML Utilities for SQL Server Help RML Help (Iniciar>todos los programas>RML Utilities for SQL Server>Help>RML Help).
Descargar la ubicación y el historial de versiones
Puede examinar el historial de versiones de las utilidades RML en esta tabla y descargar las herramientas desde aquí.
Número de versión | Descripción |
---|---|
09.04.0103 | Indica la versión web actual que está disponible en el Centro de descarga de Microsoft. Admite todas las versiones publicadas de SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 y SQL Server 2008). |
09.04.0102 | Indica la versión web anterior que está disponible en el Centro de descarga de Microsoft. Admite todas las versiones publicadas de SQL Server (SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 y SQL Server 2008). |
9.04.0100 | Indica una versión web anterior que está disponible en el Centro de descarga de Microsoft. Admite todas las versiones publicadas de SQL Server (SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 y SQL Server 2000). |
9.04.0098 | Indica un paquete de versión web anterior que se incluye con la herramienta Asistente para experimentación con bases de datos. Admite todas las versiones publicadas de SQL Server. |
9.04.0097 | Una versión anterior disponible en el sitio de SQL Nexus que admite todas las versiones publicadas de SQL Server. |
9.04.0051 | Una versión web anterior que está disponible en el Centro de descarga de Microsoft que admite SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 y SQL Server 2000. |
9.04.0004 | Una versión web anterior que admite SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 y SQL Server 2000. |
9.01.0109 | Una versión web anterior que admite SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 y SQL Server 2000. |
9.00.0023 | Una versión web anterior que admite SQL Server 2005 y SQL Server 2000. |
8.10.0010 | Versión web inicial que admite SQL Server 2000 y SQL Server 7.0. |
La versión actual de las utilidades de RML para SQL Server reemplaza a las versiones anteriores. Debe desinstalar cualquier versión anterior de las utilidades RML para SQL Server antes de instalar la versión actual. La versión actual del conjunto de herramientas contiene actualizaciones de software importantes, características mejoradas (procesar archivos .trc y .xel ) e informes, así como mejoras de rendimiento y escalabilidad.
Obtención de las utilidades de RML para SQL Server
Las utilidades rmL para SQL Server están disponibles para su descarga desde el Centro de descarga de Microsoft.
Después de instalar el Asistente para experimentación con bases de datos, encontrará las herramientas RML (
ReadTrace
yOStress
) en laC:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
carpeta .
Nota:
Microsoft proporciona utilidades RML para SQL Server tal como está. Los Servicios de soporte al cliente (CSS) de Microsoft no proporcionan soporte técnico para el conjunto de aplicaciones. Si tiene una sugerencia o desea notificar un error, puede usar la dirección de correo electrónico en el artículo "Problemas y asistencia" del archivo de ayuda (RML Help.docx). El archivo de ayuda se incluye con las utilidades RML para SQL Server.
Dependencias para utilidades RML para SQL Server
Importante
Las aplicaciones que se proporcionan como parte del conjunto de herramientas RML requieren que haya otros controles disponibles.
Dependencias de Reporter
Debe asegurarse de que los controles visor de informes están disponibles en la misma carpeta que Reporter.exe o en la caché global de ensamblados (GAC). Los archivos DLL que Reporter.exe requieren son:
- Microsoft.ReportViewer.Common.dll
- Microsoft.ReportViewer.DataVisualization.dll
- Microsoft.ReportViewer.ProcessingObjectModel.dll
- Microsoft.ReportViewer.WinForms.dll
Las versiones más recientes de las utilidades rmL incluyen estos archivos DLL en la carpeta de la aplicación.
Si no está disponible, puede descargar estos archivos DLL mediante el siguiente script de PowerShell:
Register-PackageSource -Name MyNuGet -Location https://www.nuget.org/api/v2 -ProviderName NuGet Get-PackageSource Find-Package Microsoft.ReportViewer.Common -AllVersions Install-Package Microsoft.ReportViewer.Common -RequiredVersion 10.0.40219.1 Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.Common.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.DataVisualization.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.ProcessingObjectModel.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils" Find-Package Microsoft.ReportViewer.WinForms -AllVersions Install-Package Microsoft.ReportViewer.WinForms -RequiredVersion 10.0.40219.1 Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.WinForms.10.0.40219.1\lib\Microsoft.ReportViewer.WinForms.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
Debe descargar e instalar una corrección de ReporterViewer para permitir que los vínculos dentro de los informes de ReadTrace funcionen correctamente. Para descargar la corrección ReporterViewer, vaya a Microsoft Visual Studio 2010 Service Pack 1 Report Viewer (KB2549864).
Dependencias para el expansador (opcional)
En la mayoría de los casos, Expander, que ReadTrace usa para procesar archivos CAB/ZIP/RAR, no se utiliza. Sin embargo, si necesita usar esta funcionalidad para un tipo de archivo comprimido determinado, asegúrese de que los controles de compresión y descompresión estén disponibles en la misma carpeta que Expander.exe o en la GAC. Los archivos DLL que Expander.exe requieren son los siguientes:
- BRICOLSOFTZipx64.dll
- UnRar64.dll
- XceedZipX64.dll
Puede obtener estos archivos DLL de los paquetes de software respectivos de los proveedores:
https://www.rarlab.com/rar_add.htm : busque la biblioteca dinámica de UnRAR.dll para desarrolladores de software de Windows.
Dependencias para ReadTrace y Ostress
ReadTrace y Ostress usan los controladores ODBC y OLEDB enviados como parte de SQL Server Native Client. A partir de la versión 09.04.0103, el conjunto de utilidades RML no depende solo de SQL Server Native Client (SNAC). Puede usar los controladores ODBC o OLEDB de Microsoft en el sistema donde está instalado.
Si planea analizar archivos de eventos extendidos (*.xel), asegúrese de que Visual C++ 2010 Redistributable está instalado en el sistema.
Problemas conocidos y correcciones
Problema | Resolución |
---|---|
ReadTrace encuentra un error "No se puede conectar al servidor especificado. HRESULT inicial: 0x80040154" en máquinas donde SQL Server no está instalado o solo sql Server 2022 está instalado | Se corrigió en la versión 09.04.0103. Como solución alternativa, puede instalar SQL Server Native Client u otra versión de SQL Server. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Clase no registrada es un archivo de encabezado winerror.h que significa que un componente COM no está registrado porque es probable que no esté instalado. Esto sucede porque SQL Server 2022 no envía SQL Server Native Client. |
ReadTrace encuentra "ERROR: Comprobación del tiempo de ejecución de eventos: se detectó la columna que falta [cached_text] en el evento [sp_cache_remove] en la secuencia de eventos 209494" | Se corrigió en la versión 09.04.0102. Como solución alternativa, puede agregar marcas de seguimiento (-T28 -T29 ) a la línea de comandos readTrace. |
El periodista encuentra "No se pudo cargar el archivo ni el ensamblado "Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" o una de sus dependencias. Strong name validation failed. (Excepción de HRESULT: 0x8013141A)" | Se corrigió en la versión 09.04.0102. Como solución alternativa, puede crear la siguiente clave del Registro para invalidar la comprobación de nombre seguro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35 . |
ReadTrace produce el error "No se puede conectar al servidor especificado. HRESULT inicial: 0x80040154". Ostress produce el error "Error al intentar establecer la conexión. Error de seguridad SSL.". | Consulte las instrucciones para instalar SQL Server Native Client. |
Se produce la excepción de ReadTrace "Excepción no controlada: System.IO.FileNotFoundException: No se pudo cargar el archivo o ensamblado "Microsoft.SqlServer.XEvent.Linq.dll" o una de sus dependencias. No se encontró el módulo especificado". | Instalación de Visual C++ 2010 Redistributable |
Ejemplos
En los ejemplos siguientes se muestra cómo usar algunas de las herramientas de RML.
Uso de ReadTrace.exe para importar datos de eventos extendidos (Xevent) en una base de datos
Use ReadTrace.exe para importar una serie de archivos Xevent que se recopilan mediante herramientas como PSSDIAG/SQLDiag.exe o LogScout de SQL. Use el -I
parámetro para apuntar al primer archivo .xel que se recopiló en el tiempo, si hay varios archivos presentes. Para todos los modificadores de línea de comandos, use ReadTrace.exe /?
:
ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.
Uso de Ostress.exe para probar el esfuerzo de una consulta
Use OStress para enviar una consulta en un servidor que ejecuta SQL Server ejecutando 30 conexiones simultáneas y ejecutando la consulta 10 veces en cada conexión. Para todos los modificadores de línea de comandos, use Ostress.exe /?
:
ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10
Uso de ReadTrace y Ostress para generar y reproducir archivos RML
Para generar . Los archivos RML , use un comando como el siguiente:
ReadTrace -I"D:\RMLReplayTest\ReplayTrace.trc" -o"D:\RMLReplayTest\RML" -S. -dReadTraceTestDb
Para obtener más información sobre qué eventos deben capturarse para crear un seguimiento de reproducción, consulte el Help.docx RML.
Para reproducir un archivo RML mediante Ostress, use un comando como el siguiente:
ostress.exe -S.\sql2022 -E -dAdventureWorks2022 -i"D:\RMLReplayTest\RML\SQL00069.rml" -o"D:\RMLReplayTest\RML\output"
Puede reproducir todos los archivos RML mediante *.RML
. Por ejemplo: -i"D:\RMLReplayTest\RML\*.rml"
.
Aviso de declinación de responsabilidades sobre la información de contacto de terceros
Microsoft proporciona información de contacto de otros proveedores para ayudarle a encontrar información adicional sobre este tema. Esta información de contacto puede cambiar sin previo aviso. Microsoft no garantiza la precisión de esta información de contacto de terceros.
Recursos adicionales
Solución de problemas y herramientas de diagnóstico para escenarios locales e híbridos de SQL Server