適用於: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
重要
SQL Server 分散式重播在 SQL Server 2022(16.x)及更新版本中無法使用。
在安裝並使用 Microsoft SQL Server 分散式重播功能之前,請先閱讀本文中的重要安全資訊。 本文說明安裝後的安全設定步驟,這些步驟是你在使用分散式重播前必須完成的。 本文同時說明了關於資料保護的重要考量及重要的移除步驟。
使用者與服務帳號
下表描述用於 Distributed Replay 的帳戶。 安裝 Distributed Replay 之後,您必須指派安全性主體,以便控制器和客戶端服務帳戶將以安全性主體身分執行。 因此,我們建議您在安裝 Distributed Replay 功能之前設定對應的網域使用者帳戶。
| 使用者帳戶 | 需求 |
|---|---|
| SQL Server Distributed Replay controller service account 1 | 可以是網域使用者帳戶或本機使用者帳戶。 如果您使用本機使用者帳戶,管理工具、Controller 和 Client 都必須在同一部電腦上執行。 |
| SQL Server Distributed Replay client service account 1 | 可以是網域使用者帳戶或本機使用者帳戶。 如果您使用本機使用者帳戶,Controller、Client 和目標 SQL Server 都必須在同一部電腦上執行。 |
| 用來執行 Distributed Replay 管理工具的互動式使用者帳戶 | 可以是本機使用者或網域使用者帳戶。 若要使用本機使用者帳戶,管理工具和控制器必須在同一部電腦上執行。 |
1 不要將此帳號加入 Windows 的本地管理員群組。
重要
在設定分散式重播控制器時,你可以從以下支援的帳號列表中指定一個或多個使用者帳號來執行分散式重播客戶端服務:
- 網域使用者帳戶
- 使用者建立的本機使用者帳戶
- 系統管理員
- 虛擬帳戶和 MSA (受管理的服務帳戶)
- 網路服務、本機系統和系統
不接受群組帳戶 (本機或網域) 和其他內建帳戶 (例如 Everyone)。
若要在安裝 Distributed Replay 之後設定服務帳戶或其密碼,您可以使用 Windows 服務工具。 若要變更與 Distributed Replay Controller 或 Client 服務相關聯的服務帳戶,請遵循下列步驟進行:
請根據作業系統執行下列其中一項作業:
- 選擇開始,在搜尋框輸入 services.msc,然後按下 Enter 鍵。
- 選擇 開始,選擇 執行,輸入 services.msc,然後按 Enter 鍵。
在 [服務] 對話框中,以滑鼠右鍵按一下您想要設定的服務,然後選取 [屬性]。
在 [登入] 索引標籤上,選取 [此帳戶]。
設定您想要使用的使用者帳戶。
檔案和資料夾權限
在指定服務帳號後,你必須授予這些服務帳號所需的檔案和資料夾權限。 請根據下表設定檔案和資料夾權限:
| 帳戶 | 資料夾權限 |
|---|---|
| SQL Server Distributed Replay 控制器服務帳戶 |
<Controller_Installation_Path>\DReplayController (讀取、寫入、刪除)DReplayServer.xml 檔案 (讀取、寫入) |
| SQL Server Distributed Replay 客戶端服務帳戶 |
<Client_Installation_Path>\DReplayClient (讀取、寫入、刪除)DReplayClient.xml 檔案 (讀取、寫入)工作和結果目錄,分別由 WorkingDirectory 和 ResultDirectory 元素指定於 Client 組態檔中 (讀取、寫入)。 |
DCOM 權限
DCOM 是用於 Controller 與管理工具以及 Controller 與所有 Client 之間的遠端程序呼叫 (RPC) 通訊。 安裝分散式重播功能後,您必須在控制器上設定全電腦及應用程式專屬的 DCOM 權限。
若要設定 Controller DCOM 權限,請遵循下列步驟進行:
開啟
dcomcnfg.exe元件服務的 snap-in:使用此工具來設定 DCOM 權限。- 在控制器電腦上,選取 [開始]。
- 在搜尋框中輸入
dcomcnfg.exe。 - 按 Enter 鍵。
設定整部電腦的 DCOM 權限:針對下表所列的每個帳戶授與對應的整部電腦 DCOM 權限。 如需如何設定整部電腦權限的詳細資訊,請參閱 檢查清單:管理 DCOM 應用程式。
設定應用程式限定的 DCOM 權限:針對下表所列的每個帳戶授與對應的應用程式限定的 DCOM 權限。 控制器服務的 DCOM 應用程式名稱為
DReplayController。 如需如何設定應用程式特定權限的詳細資訊,請參閱 檢查清單:管理 DCOM 應用程式。
下表描述管理工具互動式使用者帳戶和用戶端服務帳戶所需的 DCOM 權限:
| 功能 | 帳戶 | 控制器上必須的DCOM權限 |
|---|---|---|
| Distributed Replay 管理工具 | 互動式使用者帳戶 | 本機存取 遠端存取 在地發佈 遠端啟動 本機啟用 遠端啟用 |
| 分散重播客戶端 | SQL Server Distributed Replay 客戶端服務帳戶 | 本機存取 遠端存取 在地發佈 遠端啟動 本機啟用 遠端啟用 |
重要
為了有效抵禦惡意查詢或阻斷服務攻擊,請務必只將信任的使用者帳戶用於 Client 服務帳戶。 這個帳號可以連接並重播工作負載,以執行在目標 SQL Server 實例上。
SQL Server 權限
SQL Server Distributed Replay 使用的用戶端服務帳戶用於連線至工作負載的目標 SQL Server 執行個體。 這些連接僅支援 Windows 驗證模式。
當您在一組電腦上安裝 SQL Server Distributed Replay 用戶端服務後,必須將相關服務帳戶所用的安全性主體授予您打算用於重播追蹤工作負載的 SQL Server 執行個體的 sysadmin 伺服器角色。 在 Distributed Replay 安裝期間,不會自動執行此步驟。
資料保護
在分散式重播環境中,以下使用者帳號可完全存取目標伺服器的 SQL Server 實例、輸入追蹤資料及結果追蹤檔案:
用來執行管理工具的互動式使用者帳戶。
控制器服務帳戶。
客戶服務帳戶。
控制器上本地系統管理員組的成員。
客戶端上本機 Administrators 群組的成員。
重要
這些帳號擁有完全存取權,可以進入分散式重播所使用的追蹤、中間、派遣或 SQL Server 資料檔中所包含的任何個人資料或敏感資訊。
請採取以下安全措施:
將輸入追蹤資料、輸出追蹤結果和資料庫檔案儲存在使用 NTFS 檔案系統 (NTFS) 的位置,並且套用適當的存取控制清單 (ACL)。 如有需要,將儲存在 SQL Server 電腦上的資料加密。 未將 ACL 套用於追蹤檔案,且沒有資料遮蔽或混淆。 您應該在使用後盡快刪除這些檔案。
對分散式重播產生的所有中介及派遣檔案套用適當的 ACL 與保留政策。
使用傳輸層安全(TLS)來協助保護網路傳輸。
重要移除步驟
只有在測試環境中才使用 Distributed Replay。 測試完成後,在你用這些電腦做其他任務之前,務必先完成以下步驟:
解除安裝 Distributed Replay 功能並且從 Controller 和所有 Client 中移除相關的組態檔。
刪除用於測試的任何追蹤、中繼、分派和 SQL Server 資料庫檔案。 中繼和分派檔案會分別儲存在 Controller 和 Client 的工作目錄中。