分享方式:


設定資料庫測試助理的 Distributed Replay

注意

此工具將於 2024 年 12 月 15 日淘汰。 我們將停止針對任何發生的問題支援此工具,而且不會發出任何錯誤修正或進一步更新。

資料庫測試助理 (DEA) 會使用 SQL Server 安裝程式的 Distributed Replay 工具,針對升級的測試環境重新執行擷取追蹤。 建議您先使用小型追蹤檔案執行測試回合,再進行完整重新執行,確保正確重新執行查詢。

Distributed Replay 需求

  • 需要額外的 78% 硬碟空間,才能在 Distributed Replay 控制器機器上建立 IRF 檔案。
  • 200 MB 或 512 MB 是用來擷取生產或效能追蹤的最佳追蹤變換大小。
  • Distributed Replay 控制器和用戶端機器的最低 CPU 和 RAM 需求是具有 3.5 GB RAM 的單核心 CPU。
  • 重新執行時間比擷取時間長約 1.55 倍,因為使用一個控制器和四部子機器來重新執行生產追蹤。
  • 如果您使用我們「已發佈」版本的生產與效能追蹤定義檔案,而效能追蹤定義會篩選出一個感興趣的資料庫追蹤,分析顯示效能追蹤會大於生產追蹤的大小約 15 倍。

設定虛擬網路或網域

Distributed Replay 需要您在機器間使用一般帳戶。 由於此需求和安全考量,建議您在虛擬網路或網域控制的網路上執行 Distributed Replay:

  • 在環境中建立控制器和用戶端機器。
  • 請確定控制器和用戶端機器可以透過網路互相偵測。
  • Distributed Replay 用戶端機器必須能夠連線到執行 SQL Server 的重新執行目標電腦。

設定控制器服務

欲設定控制器服務:

  1. 使用 SQL Server 安裝程式安裝 Distributed Replay 控制器。 如果您略過設定 Distributed Replay 控制器的 SQL Server 安裝程式精靈步驟,可以透過設定檔設定控制器。 在一般安裝中,設定檔位於 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.config 。

  2. Distributed Replay 控制器記錄位於 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\Log 。

  3. 開啟 Services.msc 並前往 SQL Server Distributed Replay Controller 服務。

  4. 以滑鼠右鍵按一下伺服器,然後選取 [內容]。 將服務帳戶設定為網路中控制器和用戶端機器通用的帳戶。

  5. 選取 [確定],關閉 [屬性] 視窗。

  6. 從 Services.msc 重新啟動 SQL Server Distributed Replay Controller 服務。 您也可以在命令列執行下列命令,重新啟動服務:

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

如需其他設定選項,請參閱 [設定 Distributed Replay]。

設定 DCOM

只有在控制器電腦上才需要此設定。

  1. 開啟 dcomcnfg.exe。

  2. 展開 [元件服務>電腦>我的電腦>DCOM 設定]。

  3. 在 [DCOM 設定] 底下,以滑鼠右鍵按一下 [DReplayController],然後選取 [屬性]。

  4. 選取安全性索引標籤。

  5. 在 [啟動和啟用權限] 底下,選取 [自訂],接著選取 [編輯]。

  6. 新增即將開始重新執行的使用者。 提供使用者本機啟動和本機啟用權限。 如果使用者計劃從遠端啟動或啟用,請提供使用者遠端啟動和遠端啟用權限。

  7. 選取 [確定] 以提交變更,並返回 [安全性] 索引標籤。

  8. 在 [存取權限] 底下,選取 [自訂],接著選取 [編輯]。

  9. 新增即將開始重新執行的使用者。 提供使用者本機存取權限。 如果使用者計劃從遠端存取控制器服務,請授與使用者遠端存取權限。

  10. 選取 [確定] 以提交變更,並返回 [安全性] 索引標籤。

  11. 選取 [確定] 以提交變更。

  12. 從 Services.msc 重新啟動 SQL Server Distributed Replay Controller 服務。 您也可以在命令列執行下列命令,重新啟動服務:

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

設定用戶端服務

設定用戶端服務之前,請使用偵測之類的網路工具來驗證控制器和用戶端電腦可以通訊。

  1. 使用 SQL Server 安裝程式安裝 Distributed Replay 用戶端。

  2. 開啟 Services.msc 並前往 SQL Server Distributed Replay 用戶端服務。

  3. 以滑鼠右鍵按一下伺服器,然後選取 [內容]。 將服務帳戶設定為網路中控制器和用戶端機器通用的帳戶。

  4. 選取 [確定],關閉 [屬性] 視窗。 如果您略過設定 Distributed Replay 用戶端的 SQL Server 安裝程式精靈步驟,可以透過設定檔設定。 在一般安裝中,設定檔位於 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\DReplayClient.config 。

  5. 請確定 DReplayClient.config 檔案內含控制器機器名稱作為註冊的控制器。

  6. 從 Services.msc 重新啟動 SQL Server Distributed Replay 用戶端服務。 您也可以從命令列執行下列命令,重新啟動服務:

    NET STOP "SQL Server Distributed Replay Client"
    NET START "SQL Server Distributed Replay Client"

    Distributed Replay 控制器記錄位於 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\Log 。 記錄會標記出用戶端是否可以使用控制器註冊本身。

    如果設定成功,記錄會顯示已使用控制器註冊<控制器名稱>的訊息。

如需其他設定選項,請參閱 [設定 Distributed Replay]。

設定 Distributed Replay 管理工具

您可以使用 Distributed Replay 管理工具,快速測試 Distributed Replay 是否在環境中功能正常運作。 在使用控制器註冊多用戶端機器的環境,測試設定特別有用。 您可能需要安裝 SQL Server Management Studio (SSMS),取得管理工具。

  1. 前往 SSMS 安裝位置,並尋找 Distributed Replay 管理工具 dreplay.exe 及其相依元件。 目前, SSMS 17 是最新釋出的 SSMS,包括 dreplay.exe。
  2. 在命令提示字元下,執行 dreplay.exe status -f 1

如果先前步驟成功,主機輸出標記出控制器可以看到其用戶端處於 READY 狀態。

設定遠端 Distributed Replay 存取的防火牆

遠端存取 Distributed Replay 需要開啟網域或虛擬網路內可見的連接埠。

  1. 開啟具有 [進階安全性] 的 [Windows 防火牆]。
  2. 前往 [輸入規則]。
  3. 為程式 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.exe 建立新的輸入防火牆規則。
  4. 允許網域層級存取所有連接埠,讓 DReplayController.exe 可遠端與控制器服務通訊。
  5. 儲存規則。

設定目標電腦

執行 A/B 測試或實驗需要兩次重新執行。 也就是說,移轉案例可能需要兩次單獨的 SQL Server 安裝執行個體。

您也可以在同一部機器上安裝兩個版本的 SQL Server 執行個體。 需要注意的是,請務必在重新執行過程時隔離執行個體。

必須針對每次重新執行進行下列步驟:

  1. 還原資料庫的備份。
  2. 提供用戶端服務帳戶使用者存取 SQL Server 執行個體下資料庫的權限。 需要權限,才能在 SQL Server 執行個體上執行查詢。
  3. 啟動重新執行。

另請參閱