Utilitários RML (Linguagem de Marcação de Reprodução) para SQL Server

Este artigo discute um grupo de ferramentas que são usadas por profissionais de suporte para solucionar problemas do Microsoft SQL Server.

Versão original do produto: SQL Server
Número de KB original: 944837

Introdução

A equipe de suporte SQL Server usa várias ferramentas escritas internamente para ajudar a processar casos típicos de suporte ao cliente. O RML (Replay Markup Language) Utilitários para SQL Server é um conjunto de ferramentas específico que os desenvolvedores de banco de dados e os administradores do sistema podem usar.

Mais informações

Você pode usar utilitários RML para SQL Server para fazer as seguintes tarefas:

  • Determine qual aplicativo, banco de dados, SQL Server logon ou consulta está usando os recursos máximos.
  • Determine se o plano de execução de um lote é alterado quando você captura o rastreamento do lote. Além disso, você pode usar utilitários RML para SQL Server para determinar como SQL Server executa esses planos.
  • Determine quais consultas estão sendo executadas lentamente.

Depois de capturar um rastreamento para uma instância de SQL Server, você pode usar utilitários RML para SQL Server para reproduzir o arquivo de rastreamento em outra instância de SQL Server. Se você também capturar o rastreamento durante o replay, poderá usar utilitários RML para SQL Server para comparar o novo arquivo de rastreamento com o arquivo de rastreamento original. Você pode usar essa técnica para testar como SQL Server se comporta depois de aplicar alterações. Por exemplo, você pode usar essa técnica para testar como SQL Server se comporta depois de fazer as seguintes tarefas:

  • Instalar um service pack SQL Server
  • Instalar um hotfix SQL Server
  • Atualizar um procedimento armazenado ou uma função
  • Atualizar um índice ou criar um índice

Histórico de versão

Número da versão Descrição
09.04.0102 Indica a versão atual da Web que está disponível no Centro de Download da Microsoft. Ele dá suporte a todas as versões lançadas 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 e SQL Server 2008).
9.04.0100 É a versão anterior da Web que está disponível no Centro de Download da Microsoft. Ele dá suporte a todas as versões lançadas 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 e SQL Server 2000).
9.04.0098 Indica o pacote de versão atual incluído com a ferramenta Assistente para Experimentos de Banco de Dados. Ele dá suporte a todas as versões lançadas do SQL Server.
9.04.0097 Indica a versão atual disponível no site do SQL Nexus que dá suporte a todas as versões lançadas do SQL Server.
9.04.0051 É a versão anterior da Web disponível no Centro de Download da Microsoft que dá suporte a SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.04.0004 É a versão web anterior que dá suporte a SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.01.0109 É a versão web anterior que dá suporte a SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.00.0023 É a versão web anterior que dá suporte a SQL Server 2005 e SQL Server 2000.
8.10.0010 É a versão inicial da Web que dá suporte a SQL Server 2000 e SQL Server 7.0.

A versão atual do RML Utilities for SQL Server substitui todas as versões anteriores. Você deve desinstalar qualquer versão anterior dos Utilitários RML para SQL Server antes de instalar a versão atual. A versão atual do pacote de ferramentas contém atualizações de software importantes, recursos aprimorados (processar arquivos .trc e .xel ) e relatórios e melhorias de desempenho e escalabilidade.

Obter os Utilitários RML para SQL Server

  • Os Utilitários RML para SQL Server estão disponíveis para download no Centro de Download da Microsoft.

  • Depois de instalar o Assistente para Experimentos de Banco de Dados, você encontrará as ferramentas RML (ReadTrace e OStress) na C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\ pasta.

Observação

A Microsoft fornece utilitários RML para SQL Server como está. O CSS (Serviços de Suporte ao Cliente) da Microsoft não fornece suporte nem atualizações para o pacote. Se você tiver uma sugestão ou quiser relatar um bug, poderá usar o endereço de email no tópico "Problemas e Assistência" no arquivo Ajuda (RML Help.pdf). O arquivo Ajuda está incluído com os Utilitários RML para SQL Server.

Benefícios dos Utilitários RML para SQL Server

Utilitários RML para SQL Server é útil se você quiser simular o teste de aplicativo quando é impraticável ou impossível de testar usando o aplicativo real. Em um ambiente de teste, pode ser difícil gerar a mesma carga de usuário que existe no ambiente de produção. Você pode usar utilitários RML para SQL Server reproduzir uma carga de trabalho de produção em um ambiente de teste e avaliar o efeito de desempenho de quaisquer alterações. Por exemplo, você pode testar uma atualização para SQL Server 2008 ou o aplicativo de um service pack SQL Server. Além disso, você pode usar utilitários RML para SQL Server para analisar e comparar várias cargas de trabalho de reprodução. Esse tipo de análise de regressão seria um processo difícil que você teria que fazer manualmente.

O arquivo Ajuda contém um tópico início rápido. Este tópico inclui um breve exercício que o familiarizará com todas as ferramentas RML. Para abrir o arquivo Ajuda, selecione Iniciar, aponte para Todos os Programas, aponte para Utilitários RML para SQL Server, aponte para Ajuda e selecione Ajuda RML.

Ferramentas em Utilitários RML para SQL Server

Os Utilitários RML para SQL Server contém as seguintes ferramentas:

  • ReadTrace
  • Repórter
  • OStress
  • OStress Replay Control Agent (ORCA)

Para obter uma descrição completa de cada ferramenta e uso de exemplo, consulte o arquivo RML Help incluído em Utilitários RML para SQL Server.

Dependências de utilitários RML para SQL Server

Importante

Os aplicativos fornecidos como parte do pacote de ferramentas RML exigem que vários controles adicionais sejam disponibilizados.

Dependências para Repórter

  1. Você precisa garantir que os controles do Visualizador de Relatórios estejam disponíveis na mesma pasta queReporter.exe ou no GAC (Cache de Assembly Global). As DLLs que Reporter.exe exigem são:

    • Microsoft.ReportViewer.Common.dll
    • Microsoft.ReportViewer.DataVisualization.dll
    • Microsoft.ReportViewer.ProcessingObjectModel.dll
    • Microsoft.ReportViewer.WinForms.dll

    Você pode baixar essas DLLs usando o seguinte script do 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"
    
  2. Você deve baixar e instalar uma correção do ReporterViewer para permitir que os links nos relatórios ReadTrace funcionem corretamente. Para baixar a correção ReporterViewer, acesse o Visualizador de Relatórios do Service Pack 1 do Microsoft Visual Studio 2010 (KB2549864).

Dependências do Expander

Verifique se os controles de compactação e descompressão estão disponíveis na mesma pasta queExpander.exe ou no GAC. As DLLs necessárias Expander.exe são as seguintes:

  • BRICOLSOFTZipx64.dll
  • UnRar64.dll
  • XceedZipX64.dll

Você pode obter essas DLLs dos respectivos pacotes de software dos fornecedores:

Dependências de ReadTrace e Ostress

ReadTrace e Ostress usam os drivers ODBC e OLEDB enviados como parte do SQL Server Native Client. Se você planeja analisar arquivos de eventos estendidos (*.xel), verifique se o Visual C++ 2010 Redistributable está instalado no sistema.

Problemas e correções conhecidos

Problema Resolução
ReadTrace encontra "ERROR: event runtime marcar: Detectou a coluna ausente [cached_text] no evento [sp_cache_remove] na sequência de eventos 209494" Corrigido na versão 09.04.0102. Como solução alternativa, você pode adicionar sinalizadores de rastreamento (-T28 -T29) à linha de comando ReadTrace.
O repórter encontra "Não foi possível carregar arquivo ou assembly 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Falha na validação de nome forte. (Exceção de HRESULT: 0x8013141A)" Corrigido na versão 09.04.0102. Como solução alternativa, você pode criar a seguinte chave do registro para substituir a verificação de nome forte: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35.
ReadTrace falha com erro "Não é possível se conectar ao servidor especificado. HRESULT inicial: 0x80040154". Ostress falha com o erro "A tentativa de estabelecer a conexão falhou. Erro de segurança SSL.". Consulte instruções para Instalar SQL Server Native Client.
Você encontra a exceção de ReadTrace "Exceção sem tratamento: System.IO.FileNotFoundException: não foi possível carregar arquivo ou assembly 'Microsoft.SqlServer.XEvent.Linq.dll' ou uma de suas dependências. O módulo especificado não pôde ser encontrado". Instalar o Visual C++ 2010 Redistribuível

Exemplos

Os exemplos a seguir ilustram como usar algumas das ferramentas RML.

Usar ReadTrace.exe para importar dados Xevent em um banco de dados

Use ReadTrace.exe para importar uma série de arquivos Xevent coletados usando ferramentas como PSSDIAG/SQLDiag.exe ou SQL LogScout. Use o -I parâmetro para apontar para o primeiro arquivo .xel que foi coletado a tempo, se vários arquivos estiverem presentes. Para todos os comutadores de linha de comando, use ReadTrace.exe /?:

ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.

Usando Ostress.exe para testar por estresse uma consulta

Use o OStress para enviar uma consulta em um servidor que está executando SQL Server executando 30 conexões simultâneas e executando a consulta 10 vezes em cada conexão. Para todos os comutadores de linha de comando, use Ostress.exe /?:

ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10

Aviso de isenção de responsabilidade para contatos de terceiros

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar informações adicionais sobre esse tópico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão das informações de contato de terceiros.