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
Introducción
El equipo de soporte técnico de SQL Server usa varias herramientas escritas internamente para ayudar a procesar casos típicos de soporte técnico al cliente. Las utilidades de Lenguaje de marcado de reproducción (RML) para SQL Server son un conjunto de herramientas determinado que los desarrolladores de bases de datos y los administradores del sistema pueden usar.
Más información
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:
- Instalación de un Service Pack de SQL Server
- Instalación de una revisión de SQL Server
- Actualizar un procedimiento almacenado o una función
- Actualizar un índice o crear un índice
Historial de versiones
Número de versión | Description |
---|---|
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 | Indica la versión actual disponible en el sitio de SQL Nexus que admite todas las versiones publicadas de SQL Server. |
9.04.0051 | Es la 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 | Es 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 | Es una versión web anterior que admite SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 y SQL Server 2000. |
9.00.0023 | Es una versión web anterior que admite SQL Server 2005 y SQL Server 2000. |
8.10.0010 | Es la 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 de Microsoft (CSS) no proporcionan soporte técnico ni actualizaciones para el conjunto de aplicaciones. Si tiene una sugerencia o desea notificar un error, puede usar la dirección de correo electrónico del tema "Problemas y asistencia" en el archivo de ayuda (RML Help.pdf). El archivo de ayuda se incluye con las utilidades RML para SQL Server.
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, podría 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. De lo contrario, este tipo de análisis de regresión sería un proceso difícil que tendría que realizar manualmente.
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 Inicio, Seleccione Todos los programas, Utilidades RML para SQL Server, Ayuda y, después, Ayuda de RML.
Herramientas en utilidades de RML para SQL Server
Las utilidades de RML para SQL Server contienen las siguientes herramientas:
- ReadTrace
- Informador
- OStress
- Agente de control de reproducción de OStress (ORCA)
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.
Dependencias para utilidades RML para SQL Server
Importante
Las aplicaciones que se proporcionan como parte del conjunto de herramientas RML requieren que haya varios controles adicionales 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
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 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
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.