共用方式為


設定分散重播以用於 Database Experimentation Assistant

注意

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

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

Distributed Replay 需求

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

設定虛擬網路或網域

Distributed Replay 需要您在機器之間使用共用帳戶。 基於這項需求,基於安全性考慮,建議您在虛擬網路或網域控制的網路上執行 Distributed Replay:

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

設定控制器服務

若要設定控制器服務:

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

  2. Distributed Replay controller 記錄檔位於 C:\Program Files (x86)\Microsoft SQL Server<版本>\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"

設定客戶端服務

在設定客戶端服務之前,請使用 ping 之類的網路工具來確認控制器和用戶端電腦可以通訊。

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

  2. 開啟 Services.msc 並移至 SQL Server Distributed Replay Client 服務。

  3. 以滑鼠右鍵點擊服務,然後選擇 [[屬性]。 將服務帳戶設定為網路中控制器和用戶端電腦通用的帳戶。

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

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

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

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

    Distributed Replay 控制器的記錄檔位於 C:\Program Files (x86)\Microsoft SQL Server<版本>\Tools\DReplayClient\Log。 記錄會顯示用戶端是否可以向控制器註冊。

    如果設定成功,記錄會顯示訊息 向控制器註冊 <控制器名稱>

如需更多組態選項,請參閱 設定 Distributed Replay

設定 Distributed Replay 的管理工具

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

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

如果上述步驟成功,控制台輸出表示控制器可以看到其客戶端處於 READY 狀態。

設定用於遠端分散式重播存取的防火牆

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

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

設定指定電腦

需要兩次重播來進行 A/B 測試或實驗。 也就是說,移轉案例可能需要兩個不同的 SQL Server 安裝實例。

您也可以在同一部計算機上安裝兩個版本的 SQL Server 實例。 請注意,當重新播放正在進行時,務必隔離各個實例。

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

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