共用方式為


重新執行 SQL Server 的標記語言 (RML) 公用程式

本文討論支持專業人員用來針對 SQL Server Microsoft進行疑難解答的工具群組。

原始產品版本:SQL Server
原始 KB 編號: 944837

簡介

SQL Server 支援小組會使用數個內部撰寫的工具,協助處理典型的客戶支援案例。 SQL Server 的重新執行標記語言 (RML) 公用程式是資料庫開發人員和系統管理員可以使用的特定工具套件。

其他相關資訊

您可以使用適用於 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 Hotfix
  • 更新預存程式或函式
  • 更新索引或建立索引

版本歷程記錄

版本號碼 描述
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下載中心取得的舊版。 它支援所有發行的 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 下載中心取得的舊版。 它支援所有發行的 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 指出隨附於 資料庫測試助理 工具的舊版 Web 版本套件。 它支援所有發行的 SQL Server 版本。
9.04.0097 指出 SQL Nexus 月臺目前可用的版本,這些月台支援所有發行的 SQL Server 版本。
9.04.0051 這是從支援 SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005 和 SQL Server 2000 的 Microsoft下載中心取得的舊版。
9.04.0004 這是支援 SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005 和 SQL Server 2000 的舊版。
9.01.0109 這是支援 SQL Server 2008 R2、SQL Server 2008、SQL Server 2005 和 SQL Server 2000 的舊版。
9.00.0023 這是支援 SQL Server 2005 和 SQL Server 2000 的舊版。
8.10.0010 這是支援 SQL Server 2000 和 SQL Server 7.0 的初始 Web 版本。

SQL Server 的 RML 公用程式目前版本取代了任何舊版。 您必須先卸載任何舊版的 SQL Server RML 公用程式,才能安裝目前的版本。 工具套件的目前版本包含重要的軟體更新、改進的功能(處理 .trc.xel 檔案)和報表,以及效能和延展性改善。

取得 SQL Server 的 RML 公用程式

  • SQL Server 的 RML 公用程式可從 下載中心下載Microsoft。

  • 安裝 資料庫測試助理 之後,您會在 C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Dependencies\X64\ 資料夾中找到 RML 工具 (ReadTraceOStress) 。

注意

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 工具。 若要開啟說明檔,請選取 [開始]、指向 [所有程式]、指向 [SQL Server 的 RML 公用程式]、[說明],然後選取 [RML 說明]。

SQL Server RML 公用程式中的工具

適用於 SQL Server 的 RML 公用程式包含下列工具:

  • ReadTrace
  • 回報者
  • OStress
  • OStress 重新執行控制代理程式 (ORCA)

如需每個工具和範例使用方式的完整描述,請參閱 SQL Server RML 公用程式中包含的 RML 說明檔。

SQL Server RML 公用程式相依性

重要

作為 RML 工具套件一部分提供的應用程式,需要提供數個額外的控制件。

記者的相依性

您必須確定報表查看器控制件可在與Reporter.exe相同的資料夾中或全域程式集緩存中取得。 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. 您必須下載並安裝 ReporterViewer 修正程式,以允許 ReadTrace 報表中的連結正常運作。 若要下載 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 公用程式套件不相依於 SQL Server Native 用戶端 (SNAC) 。 它可以在安裝 ODBC 或 OLEDB 驅動程式的系統上使用 Microsoft。

如果您打算分析擴充事件檔案 (*.xel),請確定 系統上已安裝 Visual C++ 2010 可轉散發套件

已知問題與修正

問題 解決方案
ReadTrace 發生「無法連線到指定的伺服器」錯誤。 初始 HRESULT:在未安裝 SQL Server 或僅安裝 SQL Server 2022 的機器上0x80040154” 已修正 09.04.0103 版。 因應措施是,您可以安裝 SQL Server Native Client 或其他版本的 SQL Server。 未註冊的 HRESULT 0x80040154 REGDB_E_CLASSNOTREG 類別是一個頭檔 winerror.h ,表示 COM 元件未註冊,因為它可能未安裝。 這是因為 SQL Server 2022 不會寄送 SQL Server Native Client。
ReadTrace 遇到「錯誤:事件運行時間檢查:在事件順序209494的事件中偵測到遺漏的數據行 [sp_cache_remove cached_text] 已修正 09.04.0102 版。 因應措施是,您可以將追蹤旗標 (-T28 -T29) 新增至 ReadTrace 命令行。
記者遇到「無法載入檔案或元件 』Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其其中一個相依性。 強式名稱驗證失敗。 (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' 或其其中一個相依性。 找不到指定的模組。 安裝 Visual C++ 2010 可轉散發套件

範例

下列範例說明如何使用某些 RML 工具。

使用ReadTrace.exe在資料庫中匯入 Xevent 數據

使用 ReadTrace.exe 匯入一系列 Xevent 檔案,這些檔案是使用 PSSDIAG/SQLDiag.exeSQL LogScout 等工具來收集的。 -I如果有多個檔案存在,請使用 參數指向時間收集的第一個 .xel 檔案。 針對所有命令列參數,請使用 ReadTrace.exe /?

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

使用Ostress.exe來強調測試查詢

使用 OStress 對執行 SQL Server 的伺服器提交查詢,方法是執行 30 個同時連線,並在每個連線上執行查詢 10 次。 針對所有命令列參數,請使用 Ostress.exe /?

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

協力廠商連絡資訊免責聲明

Microsoft 提供協力廠商連絡資訊,以協助您尋找有關此主題的其他資訊。 此連絡資訊可能會變更而不另行通知。 Microsoft 不保證協力廠商連絡資訊的準確性。