Compartilhar via


Utilitários de RML (Replay Markup Language) para SQL Server

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

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

Introdução

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

Mais informações

Você pode usar os Utilitários RML para SQL Server para executar as seguintes tarefas:

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

Depois de capturar um rastreamento para uma instância do SQL Server, você pode usar os Utilitários RML para SQL Server para reproduzir o arquivo de rastreamento em outra instância do SQL Server. Se você também capturar o rastreamento durante a repetição, poderá usar os 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 o SQL Server se comporta depois de aplicar as alterações. Por exemplo, você pode usar essa técnica para testar como o SQL Server se comporta depois de executar as seguintes tarefas:

  • Instalar um service pack do SQL Server
  • Instalar um hotfix do 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.0103 Indica a versão atual da Web disponível no Centro de Download da Microsoft. Ele dá suporte a todas as versões lançadas do 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).
09.04.0102 Indica 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 do 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 Indica uma 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 do 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 um pacote de versão da Web anterior incluído na ferramenta Assistente de Experimentação 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 ao SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.04.0004 É uma versão anterior da Web que dá suporte ao SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.01.0109 É uma versão anterior da Web que oferece suporte ao SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 e SQL Server 2000.
9.00.0023 É uma versão anterior da Web que oferece suporte ao SQL Server 2005 e ao SQL Server 2000.
8.10.0010 É a versão inicial da Web que oferece suporte ao SQL Server 2000 e ao SQL Server 7.0.

A versão atual dos Utilitários RML para SQL Server substitui todas as versões anteriores. Você deve desinstalar qualquer versão anterior do RML Utilities for SQL Server antes de instalar a versão atual. A versão atual do conjunto de ferramentas contém atualizações de software importantes, recursos aprimorados (arquivos .trc e .xel de processo) 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 de Experimentação 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 no estado em que se encontram. O CSS (Serviços de Atendimento ao Cliente) da Microsoft não fornece suporte ou atualizações para o pacote. Se você tiver uma sugestão ou quiser relatar um bug, poderá usar o endereço de e-mail no tópico "Problemas e Assistência" no arquivo de Ajuda (RML Help.pdf). O arquivo de Ajuda está incluído nos Utilitários RML para SQL Server.

Benefícios dos utilitários RML para SQL Server

Os Utilitários RML para SQL Server são úteis se você deseja simular o teste de aplicativos quando é impraticável ou impossível 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 os Utilitários RML para SQL Server para 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 o SQL Server 2008 ou o aplicativo de um service pack do SQL Server. Além disso, você pode usar os Utilitários RML para SQL Server para analisar e comparar várias cargas de trabalho de repetição. Caso contrário, esse tipo de análise de regressão seria um processo difícil que você teria que fazer manualmente.

O arquivo de Ajuda contém um tópico de Início Rápido. Este tópico inclui um breve exercício que o familiariza com todas as ferramentas de RML. Para abrir o arquivo de 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
  • Agente de controle de repetição do sistema operacional (ORCA)

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

Dependências para utilitários RML para SQL Server

Importante

Os aplicativos que são fornecidos como parte do conjunto de ferramentas RML exigem que vários controles adicionais sejam disponibilizados.

Dependências do Reporter

Você precisa verificar se os controles do Visualizador de Relatórios estão disponíveis na mesma pasta que o Reporter.exe ou no GAC (Cache de Assembly Global). As DLLs que Reporter.exe requer são:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. As versões mais recentes do RML Utilities incluem essas DLLs na pasta do aplicativo.

  2. Se não estiver disponível, você poderá 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"
    
  3. Você deve baixar e instalar uma correção do ReporterViewer para permitir que os links nos relatórios do ReadTrace funcionem corretamente. Para baixar a correção do ReporterViewer, acesse o Visualizador de Relatórios do Microsoft Visual Studio 2010 Service Pack 1 (KB2549864).

Dependências do Expander

Certifique-se de que os controles de compactação e descompactação estejam disponíveis na mesma pasta que o Expander.exe ou no GAC. As DLLs que Expander.exe requer são as seguintes:

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

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

Dependências para ReadTrace e Ostress

O ReadTrace e o Ostress usam os drivers ODBC e OLEDB fornecidos como parte do SQL Server Native Client. A partir da versão 09.04.0103, o pacote de utilitários RML não depende apenas do SNAC (cliente nativo do SQL Server). Ele pode usar os drivers ODBC ou OLEDB da Microsoft no sistema em que está instalado.

Se você planeja analisar arquivos de Eventos Estendidos (*.xel), verifique se o Visual C++ 2010 Redistributable está instalado no sistema.

Problemas conhecidos e correções

Problema Resolução
O ReadTrace encontra um erro "Não é possível conectar-se ao servidor especificado. HRESULT inicial: 0x80040154" em computadores em que o SQL Server não está instalado ou apenas o SQL Server 2022 está instalado Corrigido na versão 09.04.0103. Como solução alternativa, você pode instalar o SQL Server Native Client ou outra versão do SQL Server. HRESULT 0x80040154 REGDB_E_CLASSNOTREG Class not registered é um arquivo de cabeçalho winerror.h que significa que um componente COM não está registrado porque provavelmente não está instalado. Isso acontece porque o SQL Server 2022 não envia o SQL Server Native Client.
O ReadTrace encontra "ERRO: Verificação de tempo de execução do evento: Coluna ausente detectada [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 Reporter encontra "Não foi possível carregar o arquivo ou assembly 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Falha na validação do 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.
O ReadTrace falha com o erro "Não é possível conectar-se ao servidor especificado. HRESULT inicial: 0x80040154". Ostress falha com o erro "Falha na tentativa de estabelecer conexão. Erro de segurança SSL.". Consulte as instruções para instalar o SQL Server Native Client.
Você encontra a exceção do ReadTrace "Exceção sem tratamento: System.IO.FileNotFoundException: não foi possível carregar o 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 de RML.

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

Use ReadTrace.exe para importar uma série de arquivos Xevent que são 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 todas as opções 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 uma consulta

Use 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 todas as opções 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.