資料庫

SQL Server AlwaysOn 是支援高可用性/災害復原情況的首選 SQL 技術,User Workspace Manager10.x 伺服器經過最佳化,能夠支援此項技術。

目前正在轉換為 AlwaysOn 技術的User Workspace Manager10.1 FR1 客戶可以使用 SQL 鏡像。

SQL AlwaysOn

以下提供設定 SQL Server AlwaysOn 可用性群組的指引:

以下提供 SQL Server 高可用性和災害復原的白皮書:

如果已設定有多個子網路容錯移轉可用性群組的 SQL AlwaysOn,則必須在相關監聽程式的資料庫連線字串中設定 MultiSubnetFailover 值。可以使用伺服器組態入口或 Powershell cmdlet 進行。

如需設定資料庫連線字串的詳細資訊,請參閱《伺服器組態入口網站 指令碼撰寫指南》中的設定新伺服器和資料庫

SQL 鏡像

SQL 資料庫鏡像可維持在鏡像 SQL 執行個體中資料庫的即時副本,是確保資料彈性的策略。進行容錯移轉時,此備用資料庫可用於立即恢復服務。

原始伺服器稱為主體,備用資料庫稱為鏡像。兩者之間的資料會自動同步,因此鏡像在需要時完全是最新狀態。

如果按照 Microsoft 最佳實務進行設定,便支援 SQL 鏡像IvantiUser Workspace Manager

自動容錯移轉需要見證伺服器。沒有見證伺服器,則需要手動轉換。
SQL 鏡像支援 SQL Server 2012 和 2014,但不支援 SQL Express。

將 SQL 鏡像用於 DesktopNowUser Workspace Manager伺服器

User Workspace Manager 伺服器允許使用者將額外的參數新增到資料庫連線字串。這可用於新增 Failover Partner 參數,以便在鏡像組態中,User Workspace Manager 伺服器會在主體發生故障或切換時自動切換。

自動容錯移轉需要見證伺服器和鏡像組。

使用 User Workspace Manager 設定 SQL 鏡像需要進行下列步驟:

User Workspace Manager 伺服器的初始安裝

User Workspace Manager 伺服器一開始應該設定為指向主體資料庫。安裝資料庫所用的伺服器組態入口 (SCP) 可安裝組態檔案,以包含主體資料庫的詳細資訊。

原始主體做為鏡像時,如果 SCP 在安裝後執行,則無法連接到資料庫,因為 SCP 無法識別容錯移轉組態。

連線錯誤會發生,導致資料庫差異。如果要切換資料庫,則必須手動編輯 web.config 移除容錯移轉夥伴。

若要確定服務可以存取鏡像組的兩個執行個體:

  1. 服務帳戶必須使用 Windows 驗證
  2. 必須使用網域使用者。

如需 SCP 的詳細資訊,請參閱伺服器組態入口說明

準備主體和鏡像資料庫

  1. 在託管主體資料庫的伺服器上執行 SQL Server Management Studio。
  2. 以滑鼠右鍵按一下「物件總管」中的管理伺服器資料庫,並選取內容
  3. 在「資料庫內容」對話方塊中,選取選項頁面。
  4. 從「復原模式」下拉式清單中選取完整
  5. 按一下確定
  6. 復原模式設定為完整後,備份資料庫和交易記錄。
  7. 透過還原後接交易記錄的完整備份,即可在鏡像伺服器上建立鏡像資料庫。確定為每次還原選取「還原資料庫」對話方塊中的使用非復原還原選項。

如需還原資料庫的詳細資訊,請參閱 SQL Server Management Studio 線上說明或 SQL Server 文件。

資料庫鏡像設定

建議每個 SQL Server 服務在網域帳戶下執行,因為每個資料庫都必須有其他 SQL Server 服務的登入。

  1. 在託管主體資料庫的伺服器上執行 SQL Server Management Studio。
  2. 在「物件總管」中,以滑鼠右鍵按一下該資料庫,並選取任務 > 鏡像
  3. 按一下設定安全性存取「設定資料庫鏡像安全性精靈」。
    精靈會設定主體和鏡像伺服器執行個體。

如需如何設定資料庫鏡像的詳細資訊,請參閱 SQL Server Management Studio 線上說明或 SQL Server 文件。

管理伺服器設定

設定鏡像組後,需要設定管理伺服器在需要時使用容錯移轉夥伴,這可透過下列 PowerShell 命令完成:

Import-ApsInstanceModule -ProductName "Management Server" -IsDefault

$pw ="Password"| ConvertTo-SecureString -AsPlainText -force

$sc = New-Object System.Management.Automation.PSCredential ("Domain\Username",$pw)

Set-ApsServerDatabase -DatabaseConnection NameOfConnection -ServiceCredential $sc -ConnectionString "Failover Partner=NameOfFailOverServer"

如果資料庫存在於預設 SQL 執行個體 (MSSQL Server) 中,請勿在 web.config.file 中指定 "Server\MSSQLServer",因為鏡像不會有任何作用。若要使用預設 SQL 執行個體,務必僅指定伺服器名稱。
例如,如果您的伺服器 "SVR_2k8_01" 存在於預設執行個體中,請指定 "SVR_2k8_01",而不是 "SVR_2k8_01\MSSQLServer"。

容錯移轉夥伴 Powershell 命令成功執行時,進行更新的檔案是 databaseconnections.xml。

執行 PoSh 命令時,會新增容錯移轉連線:

伺服器組態入口將如下所示,這是預期的結果,因為容錯移轉連線沒有組態帳戶詳細資訊:

個人化伺服器設定

設定鏡像不會將伺服器登入傳輸到鏡像,因此必須將服務帳戶登入新增到鏡像。

  1. 在 SQL Server Management Studio 的「物件總管」中,以滑鼠右鍵按一下安全性 > 登入節點,並選取新登入
  2. 輸入服務帳戶登入的詳細資訊,並按一下確定

只需要新增使用者,因為使用者的 SID 已在資料庫中設定;容錯移轉進行時,使用者將擁有存取權限。

更新 web.config 檔案
  1. 開啟個人化伺服器上的 web.config 檔案。這通常位於:
    C:\Program Files\AppSense\Environment Manager\Personalization Server\PS
  2. 新增容錯移轉夥伴,如下列範例所示。

如果資料庫存在於預設 SQL 執行個體 (MSSQL Server) 中,請勿在 web.config.file 中指定 "Server\MSSQLServer",因為鏡像不會有任何作用。若要使用預設 SQL 執行個體,務必僅指定伺服器名稱。
例如,如果您的伺服器 "SVR_2k8_01" 存在於預設執行個體中,請指定 "SVR_2k8_01",而不是 "SVR_2k8_01\MSSQLServer"。

更新 BackgroundService.exe.config
  1. 開啟個人化伺服器的 Bin 檔案夾中的 BackgroundService.exe.config 檔案。這通常位於:
    C:\Program Files\AppSense\Environment Manager\Personalization Server\BackgroundService
  2. 更新該檔案,如下列範例所示: