次の方法で共有


SQL Server のリプレイ マークアップ言語 (RML) ユーティリティ

この記事では、Microsoft SQL Server のトラブルシューティングにサポート担当者が使用するツールのグループについて説明します。

元の製品バージョン: SQL Server
元の KB 番号: 944837

はじめに

SQL Server サポート チームは、いくつかの内部で作成されたツールを使用して、一般的なカスタマー サポート ケースの処理に役立ちます。 SQL Server 用のリプレイ マークアップ言語 (RML) ユーティリティは、データベース開発者とシステム管理者が使用できる特定のツール スイートの 1 つです。

詳細

SQL Server の RML ユーティリティを使用して、次のタスクを実行できます。

  • 最大リソースを使用しているアプリケーション、データベース、SQL Server ログイン、またはクエリを決定します。
  • バッチのトレースをキャプチャするときに、バッチの実行プランが変更されるかどうかを判断します。 さらに、SQL Server 用の RML ユーティリティを使用して、SQL Server でこれらのプランを実行する方法を決定できます。
  • 実行速度が遅いクエリを特定します。

SQL Server のインスタンスのトレースをキャプチャした後は、SQL Server の RML ユーティリティを使用して、SQL Server の別のインスタンスに対してトレース ファイルを再生できます。 また、再生中にトレースをキャプチャする場合は、SQL Server の RML ユーティリティを使用して、新しいトレース ファイルと元のトレース ファイルを比較できます。 この手法を使用して、変更を適用した後の SQL Server の動作をテストできます。 たとえば、次のタスクを実行した後、この手法を使用して SQL Server の動作をテストできます。

  • SQL Server Service Pack をインストールする
  • SQL Server 修正プログラムをインストールする
  • ストアド プロシージャまたは関数を更新する
  • インデックスを更新するか、インデックスを作成する

バージョン履歴

バージョン番号 説明
09.04.0103 Microsoft ダウンロード センターから入手できる現在の Web リリースを示します。 リリースされたすべてのバージョンの SQL Server (SQL Server 2022、SQL Server 2019、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、および SQL Server 2008) がサポートされます。
09.04.0102 Microsoft ダウンロード センターから入手できる以前の Web リリースを示します。 リリースされたすべてのバージョンの SQL Server (SQL Server 2022、SQL Server 2019、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、および SQL Server 2008) がサポートされます。
9.04.0100 Microsoft ダウンロード センターから入手できる以前の Web リリースを示します。 リリースされたすべてのバージョンの 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、SQL Server 2000) がサポートされています。
9.04.0098 Database Experimentation Assistant ツールに含まれている以前の Web リリース パッケージを示します。 リリースされたすべてのバージョンの SQL Server がサポートされます。
9.04.0097 SQL Server のすべてのリリース バージョンをサポートする SQL Nexus サイトから利用可能な現在のリリースを示します。
9.04.0051 SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005、および SQL Server 2000 をサポートする Microsoft ダウンロード センターから入手できる以前の Web リリースです。
9.04.0004 SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005、および SQL Server 2000 をサポートする以前の Web リリースです。
9.01.0109 SQL Server 2008 R2、SQL Server 2008、SQL Server 2005、および SQL Server 2000 をサポートする以前の Web リリースです。
9.00.0023 SQL Server 2005 と SQL Server 2000 をサポートする以前の Web リリースです。
8.10.0010 SQL Server 2000 と SQL Server 7.0 をサポートする最初の Web リリースです。

SQL Server 用の RML ユーティリティの現在のバージョンは、以前のバージョンよりも優先されます。 現在のバージョンをインストールする前に、SQL Server 用 RML Utilities の以前のバージョンをアンインストールする必要があります。 ツール スイートの現在のバージョンには、重要なソフトウェア更新プログラム、改善された機能 (プロセス .trc および .xel ファイル) とレポート、およびパフォーマンスとスケーラビリティの向上が含まれています。

SQL Server の RML ユーティリティを取得する

Note

Microsoft では、SQL Server 用の RML ユーティリティをそのまま提供しています。 Microsoft カスタマー サポート サービス (CSS) は、スイートのサポートや更新プログラムを提供していません。 提案がある場合、またはバグを報告する場合は、ヘルプ ファイル (RML Help.pdf) の 「問題と支援」トピックの電子メール アドレスを使用できます。 ヘルプ ファイルは、SQL Server の RML ユーティリティに含まれています。

SQL Server 用 RML ユーティリティの利点

SQL Server 用の RML ユーティリティは、実際のアプリケーションを使用してテストするのが現実的ではない場合や不可能な場合にアプリケーション テストをシミュレートする場合に便利です。 テスト環境では、運用環境に存在するのと同じユーザー 負荷を生成することが困難な場合があります。 SQL Server 用の RML ユーティリティを使用して、テスト環境で運用環境のワークロードを再生し、変更のパフォーマンス効果を評価できます。 たとえば、SQL Server 2008 へのアップグレードや SQL Server Service Pack のアプリケーションをテストできます。 さらに、SQL Server の RML ユーティリティを使用して、さまざまな再生ワークロードを分析および比較できます。 この種の回帰分析は、手動で行う必要がある難しいプロセスです。

ヘルプ ファイルにはクイック スタート トピックが含まれています。 このトピックには、すべての RML ツールについて理解を深める簡単な演習が含まれています。 ヘルプ ファイルを開くには、 Start を選択し、 すべてのプログラムをポイントし、 RML Utilities for SQL Server をポイントし、 Help をポイントして、 RML ヘルプを選択します。

SQL Server 用 RML ユーティリティのツール

SQL Server の RML ユーティリティには、次のツールが含まれています。

  • ReadTrace
  • レポーター
  • OStress
  • OStress 再生コントロール エージェント (ORCA)

すべてのツールとサンプルの使用方法の詳細については、SQL Server の RML ユーティリティに含まれている RML ヘルプ ファイルを参照してください。

SQL Server の RML ユーティリティの依存関係

重要

RML ツール スイートの一部として提供されるアプリケーションでは、いくつかの追加のコントロールを使用できるようにする必要があります。

Reporter の依存関係

レポート ビューアー コントロールが、 Reporter.exe と同じフォルダーまたはグローバル アセンブリ キャッシュ (GAC) 内で使用できることを確認する必要があります。 Reporter.exe必要な DLL は次のとおりです。

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.DataVisualization.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WinForms.dll
  1. 最新バージョンの RML ユーティリティには、アプリケーション フォルダーにこれらの DLL が含まれています。

  2. 使用できない場合は、次の PowerShell スクリプトを使用してこれらの DLL をダウンロードできます。

    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. ReadTrace レポート内のリンクを正常に動作させるには、ReporterViewer 修正プログラムをダウンロードしてインストールする必要があります。 ReporterViewer の修正プログラムをダウンロードするには、 Microsoft Visual Studio 2010 Service Pack 1 レポート ビューアー (KB2549864)に移動します。

Expander の依存関係

圧縮と展開のコントロールが、 Expander.exe と同じフォルダーまたは GAC で使用できることを確認します。 Expander.exe必要な DLL は次のとおりです。

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

これらの DLL は、ベンダーの各ソフトウェア パッケージから取得できます。

ReadTrace と Ostress の依存関係

ReadTrace と Ostress は、 SQL Server Native Client の一部として提供される ODBC ドライバーと OLEDB ドライバーを使用します。 バージョン 09.04.0103 以降では RML Utilities スイートは SQL Server Native Client (SNAC) のみに依存しません。 インストールされているシステムで Microsoft ODBC または OLEDB ドライバーを使用できます。

拡張イベント ファイル (*.xel) を分析する場合は、 Visual C++ 2010 再頒布可能パッケージ がシステムにインストールされていることを確認します。

既知の問題と修正

問題 解決策
ReadTrace でエラー "指定されたサーバーに接続できません。 SQL Server がインストールされていないか、SQL Server 2022 のみがインストールされているマシンでの初期 HRESULT: 0x80040154" バージョン 09.04.0103 で修正されました。 回避策として、SQL Server Native Client または別のバージョンの SQL Server をインストールできます。 HRESULT 0x80040154 REGDB_E_CLASSNOTREG クラスが登録されていないのは、ヘッダー ファイル winerror.h COM コンポーネントが登録されていないことを意味します。これは、COM コンポーネントがインストールされていない可能性があるためです。 これは、SQL Server 2022 が SQL Server Native Client を出荷していないために発生します。
ReadTrace で"ERROR: Event runtime check: Detected missing column [cached_text] in event [sp_cache_remove] at event sequence 209494" が検出されました バージョン 09.04.0102 で修正されました。 回避策として、ReadTrace コマンド ラインにトレース フラグ (-T28 -T29) を追加できます。
Reporter は、"ファイルまたはアセンブリ 'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。 厳密な名前の検証に失敗しました。 (HRESULT からの例外: 0x8013141A)" バージョン 09.04.0102 で修正されました。 回避策として、次のレジストリ キーを作成して、厳密な名前の検証をオーバーライドできます: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35
ReadTrace が失敗し、"指定されたサーバーに接続できません。 初期 HRESULT: 0x80040154"。 Ostress がエラー "接続の確立に失敗しました。 SSL セキュリティ エラー"。 SQL Server Native Client のインストール 手順を参照してください。
ReadTrace "ハンドルされない例外: System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.SqlServer.XEvent.Linq.dll' またはその依存関係の 1 つを読み込めませんでした。 指定されたモジュールが見つかりませんでした"。 Visual C++ 2010 再頒布可能パッケージのインストール

次の例は、一部の RML ツールの使用方法を示しています。

ReadTrace.exeを使用して Xevent データをデータベースにインポートする

ReadTrace.exeを使用して、PSSDIAG/SQLDiag.exeSQL LogScout などのツールを使用して収集された一連の Xevent ファイルインポートします。 複数のファイルが存在する場合は、 -I パラメーターを使用して、時間内に収集された最初の .xel ファイルをポイントします。 すべてのコマンド ライン スイッチに対して、 ReadTrace.exe /?を使用します。

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

Ostress.exeを使用したクエリのストレス テスト

OStress を使用して、30 の同時接続を実行し、各接続でクエリを 10 回実行することで、SQL Server を実行しているサーバーに対してクエリを送信します。 すべてのコマンド ライン スイッチに対して、 Ostress.exe /?を使用します。

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

サードパーティのお問い合わせ窓口に関する免責事項

サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。