SQL Server Always On Availability Group 可用性群組安裝筆記


  1. 說明
    1. 前置作業
    2. 準備資料庫伺服器
    3. 啟用服務的 Always On 可用性群組
    4. 建置容錯叢集 (Build Windows Server Failover Cluster)
      1. 叢集切換
    5. 建置可用性群組
      1. 選擇可用性資料庫
    6. 建置可用性群組 Listener
    7. 驗證可用性群組容錯移轉
    8. 同步 SQL Server Agent 的作業排程
    9. 叢集的仲裁設定
  2. 參考資料
  3. 相關連結

筆記 SQL Server 如何設定 Always On Availability Group (可用性群組)

SQL Server Logo

說明

前置作業

  1. 需要準備兩台資料庫伺服器 (SQL Server 2012+,版號相同)
  2. 需要一組網域帳戶作為 Service Account
  3. 需要 Active Directory 網域環境
  4. 兩台資料庫伺服器需要建置為同 Windows Cluster (容錯叢集) 環境
  5. 作業過程中會需要網域管理者的權限新增電腦物件(建立叢集 Cluster, 建立 Availability Group Listener

準備資料庫伺服器

安裝 SQL Server 的步驟

另需要使用 SQL Server 組態管理員 將 SQL Server 及 SQL Server Agent 的登入帳號調整為所準備的網域帳戶,第二台資料庫伺服器亦須使用同樣的網域帳戶做相同的設定。


啟用服務的 Always On 可用性群組

⚠️ 需調整為網域帳戶登入身分,才能夠正常啟用。

建置容錯叢集 (Build Windows Server Failover Cluster)

Windows Server Failover Cluster 叢集設定實驗筆記 (WSFC)

叢集切換

確認目前使用的叢集所使用的資料庫伺服器以及如何由叢集進行切換。


建置可用性群組

選擇可用性資料庫

資料庫的復原模式必須為完整復原模式,才能夠作為可用性群組所使用的資料庫。


端點預設使用 5022 port,要注意伺服器之間的防火牆是否允許。

UNC 路徑被需要讓 SQL Server Service 所使用的登入身分能夠有權限存取,才能作為自動備份與還原資料庫的中介資料夾。



建置可用性群組 Listener

需要為 Listener 指定一組 IP,此 Listener 所代表的就是該可用性群組。因此在應用程式的連線字串,應使用 Listener 的名稱作為資料庫伺服器名稱連線,當 Availability Group 的 Failover 發生時,應用程式才能對應連結到目前 Active 的資料庫伺服器。



驗證可用性群組容錯移轉

由儀錶板 (Dashboard) 可以看到目前可用性群組使用中的資料庫伺服器(主要執行個體),並且可以進行容錯移轉,以將主要執行個體做切換。

同步 SQL Server Agent 的作業排程

簡略說明,使用 Create Script 的方式搬遷最快。

要記得所有的複本執行都要加入 fn_hadr_is_primary_replica 的檢查,確保作用該排程的是主要複本 (因為只有主要複本能夠提供寫入等資料異動,次要複本僅能作為讀取)。

IF sys.fn_hadr_is_primary_replica('DatabaseName') = 1
	exec DatabaseName.dbo.usp_StoredProcedureName
ELSE
	SELECT '不是主要執行複本'

叢集的仲裁設定




參考資料

SQL Server 2017與Always on高可用性群組使用心得

架設 AlwaysON 時候的常見問題

相關連結

SQL Server 閃電般快速查詢指南⚡

SQL Server 周邊工具彙整筆記

SQL Server 學習資源筆記