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 ユーティリティを取得する
SQL Server の RML ユーティリティは、 Microsoft ダウンロード センターからダウンロードできます。
Database Experimentation Assistant をインストールすると、
C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\
フォルダーに RML ツール (ReadTrace
とOStress
) が表示されます。
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
最新バージョンの RML ユーティリティには、アプリケーション フォルダーにこれらの DLL が含まれています。
使用できない場合は、次の 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"
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 は、ベンダーの各ソフトウェア パッケージから取得できます。
https://www.rarlab.com/rar_add.htm - Windows ソフトウェア開発者向けの UnRAR.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.exe や SQL 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
サードパーティのお問い合わせ窓口に関する免責事項
サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。