Prepare SQL Server 2016 prerequisites - Azure SQL 受控執行個體 link

適用於:Azure SQL 受控實例

本文將教你如何在 SQL Server 2016 上啟用 Always On 可用性群組功能,搭配 Windows Server 故障轉移叢集(WSFC),作為準備環境以迎接 受控執行個體 連結的額外步驟。

本文所述的步驟僅在 SQL Server 2016 上是強制性的,因為此版本的 SQL Server 無法啟用可用性群組,除非主機 Windows OS 上有 Windows Server 故障轉移叢集。 在 SQL Server 2016 啟用可用性群組的最低要求是建立本地單節點(單一機器)叢集。 不需要多個節點,因此也不需要額外的 SQL Server。 不過,如果你有針對任何 SQL Server 版本(2016-2022)的多節點叢集配置,連結也可以作為選配支援。

在 Windows Server 上安裝 WSFC 模組

以管理員身份在Windows Server主機上執行以下 PowerShell 指令,Windows Server安裝故障轉移叢集模組SQL Server。

# Run as Administrator in PowerShell on Windows Server OS hosting the SQL Server
# This installs WSFC module on the host OS
Install-WindowsFeature -Name Failover-Clustering –IncludeManagementTools

另外,你也可以使用 伺服器管理員 透過圖形使用者介面安裝 WSFC 模組。

建立單節點叢集

下一步是在 Windows 作業系統上建立一個叢集,主機是 SQL Server。 這可以透過兩種方法達成:

  1. 簡單的 PowerShell 指令——有以下列出的某些限制,或者
  2. 故障轉移叢集管理員應用程式——提供完整的設定彈性。

以下將介紹這兩種方法。

使用 PowerShell 建立叢集

建立本地單節點叢集最簡單的方法是在 Windows Server 作業系統主機 SQL Server 上執行一個簡單的 PowerShell 指令。 此方法有其限制,因為它適用於未加入網域的單一伺服器機器。 使用此方法建立叢集無法使用圖形使用者介面的故障轉移叢集管理器來管理叢集。

如果你需要快速建立單節點叢集,請執行以下提供的 PowerShell 指令。 Replace:

  • <ClusterName> 在你想要的叢集名稱的腳本裡。 名稱應為單一單字,無空格或特殊字元(例如 WSFCluster
# Run as Administrator in PowerShell on Windows Server OS hosting the SQL Server
# This creates a single-node cluster on the host OS, not joined in the domain
New-Cluster -Name "<ClusterName>" -AdministrativeAccessPoint None -Verbose -Force

如果未來需要移除叢集,這只能用 PowerShell 指令 Remove-Cluster來完成。

如果你已經成功用這種方法建立叢集,請跳到在 SQL Server 中為 WSFC 授予權限

使用 Failover 叢集管理器應用程式建立叢集

另外,在主機SQL Server的Windows作業系統上建立叢集的更靈活方式,是透過圖形使用者介面,使用故障轉移叢集管理器應用程式。 請遵循下列步驟:

  1. 透過命令提示字元執行hostname指令來查詢你的 Windows Server 名稱。

  2. 記錄此指令的輸出(下方圖片中標示的範例輸出),或保持此視窗開啟,因為你接下來會使用這個名稱。

    透過命令提示字元找到 Windows Server 主機名稱的截圖。

  3. 在鍵盤上按 Windows 鍵 + R 開啟備援叢集管理器,輸入 %windir%\system32\Cluadmin.msc,然後點擊確定。

    • 另外,也可以透過打開 伺服器管理員,在右上角選擇工具,然後選擇 Failover Cluster Manager 來存取。
  4. 在 Windows 叢集管理員中,點選建立叢集選項。

    存取建立叢集選項的截圖。

  5. 在「開始前」畫面,點擊「下一步」。

  6. 在選擇伺服器畫面,輸入你的 Windows Server 名稱(輸入或複製貼上先前執行hostname指令的輸出),點選新增,然後選擇下一步。

    建立 WSFC 時輸入 Windows Server 主機名稱的截圖。

  7. 在驗證警告畫面中,保持「是」,然後點擊「下一頁」。

  8. 在「在你之前」畫面,點擊「下一步」。

  9. 在測試選項畫面中,將「執行所有測試」開啟,然後點選「下一步」。

  10. 在確認畫面,點擊「下一步」。

  11. 在驗證畫面中,等待驗證完成。

  12. 在摘要畫面,點擊完成。

  13. 在「管理叢集接取點」畫面中,輸入你的叢集名稱,例如 WSFCluster,然後點擊「下一步」。

    輸入叢集名稱的截圖。

  14. 在確認畫面,點擊「下一步」。

  15. 在建立新叢集畫面,等待建立完成。

  16. 在摘要畫面,點擊完成。

透過上述步驟,你已經建立了本地單節點的 Windows Server 故障轉移叢集。

驗證

要驗證單節點 WSFC 叢集是否已建立,請依照以下步驟操作:

  1. 在備援叢集管理器中,點擊左側的叢集名稱,然後點擊 > 箭頭展開。

    • 如果你在故障轉移叢集管理器建立後關閉並重新開啟,叢集名稱可能不會顯示在左側(見下方圖片)。
  2. 點選右側的「連接到叢集」,選擇連接 <Cluster on this server...>,然後點擊確定。

  3. 點擊節點。

    驗證 WSFC 建立的截圖。

    • 你應該可以看到新增到這個叢集的本地機器單節點,狀態為 Up。 此驗證確認 WSFC 配置已成功完成。 你現在可以關閉故障轉移叢集管理器工具了。

接著,請依以下步驟確認 SQL Server 是否能啟用 Always On 選項:

  1. 開啟 SQL Server 組態管理員

  2. 雙擊 SQL Server

  3. 點選「Always On(持續在線)高可用性」標籤

    驗證 SQL Server 啟用 Always On 選項的截圖。

    • 你應該可以看到你建立的 WSFC 名稱,並且應該能勾選啟用 Always On Availability Groups 的選項。 此驗證確認配置已成功完成。

在 SQL Server for WSFC 中授予權限

Important

在 SQL Server 2016 中授予 Windows OS 系統帳號權限是必須的。 這些權限使 SQL Server 能夠與 Windows Server 故障轉移叢集(Failover Cluster)協同運作。 若沒有這些權限,在 SQL Server 2016 建立可用性群組將失敗。

接著,將 SQL Server NT Authority \ System 權限授予 Windows 主機作業系統帳號,以啟用使用 WSFC 在 SQL Server 中建立可用性群組。 在您的 SQL Server 上執行以下 T-SQL 腳本:

  1. 登入你的 SQL Server,使用像 SSMS 這樣的用戶端
  2. 執行以下 T-SQL 腳本
-- Run on SQL Server
-- Grant permissions to NT Authority \ System to create AG on this SQL Server
GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
GO
GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
GO
GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
GO

下一步

若要使用連結:

若要進一步了解這個連結,請參閱以下內容:

針對其他複製和移轉情境,請考慮: