Leo Yeh's Blog

SQL Server 高可用性 (1)

基本介紹

教學目標

初步了解 SQL Server 高可用性的基本概念。

重點概念

首先我們在企業中建立系統時通常會考慮高可用性,若以服務業務單位的角度而言,只要因為效能不足造成回應時間過慢,或者系統無法提供服務時,則系統可用性就會被提出來進行檢討。此時資料庫管理師針對資料庫的高可用性所面臨的挑戰主要是平均修復時間,所謂可用性主要公式為 (平均運作時間 - 平均修復時間) / 平均運作時間。

接著資料庫高可用性的解決方案能夠避免因為硬體或軟體失敗所造成的影響,並且讓平均修復時間降至最少,其中常見的原因主要有硬體故障或毀損、應用程式錯誤、使用者操作錯誤和不當的資料庫行為。此時 SQL Server 主要提供四種高可用性永不停機 (Always On) 的解決方案,分別為:

  1. 容錯轉移叢集:主要是透過 Windows 平台提供的高可用性功能。
  2. 資料庫鏡像:主要是支援近乎的容錯移轉,但建議改用可用性群組。
  3. 可用性群組:主要是讓我們能夠針對多個資料庫容錯移轉。
  4. 記錄傳送:主要是傳遞主要伺服器的交易記錄備份,以利進行復原。

再來最基本的應用就是容錯轉移叢集,其主要是透過 Windows 平台提供的高可用性功能,能夠提供 SQL Server 完整執行個體的高可用性功能。其主要是由一個或多個實體節點 (伺服器) 所組成,且具有共用磁碟。此時主要透過 Windows 平台中的「容錯移轉叢集管理員」進行容錯移轉的設定,並且我們能夠當伺服器硬體發生故障、軟體發生錯誤或計劃升級其間,將節點容錯移轉至其它節點,繼續提供服務,以利提供高可用性。

最後 SQL Server 容錯移轉主要有兩種架構分別為 Active / Passive 和 Active / Active,所謂 Active / Passive 架構主要是單一執行個體叢集,整個叢集僅有一個容錯執行個體,其共用相同共享磁碟中的資料檔或交易記錄檔,執行過程中只允許一個節點擁有叢集群組的資源,而另一個節點則是等待狀態,若擁有資源的節點一但發生異常時,則次要節點則會立即啟動相關服務。所謂 Active / Active 架構主要是多個執行個體叢集,每個執行個體皆有專屬的資料檔或交易記錄檔,也皆存在個別的磁碟中,執行過程中允許多個節點擁有群組的資源,若其中一個節點發生異常時,則會立即轉移至其它正常的節點立即啟用相關服務。

總結在企業中當我們規劃建置系統時,通常會考慮資料庫的高用性架構,此時 SQL Server 容錯移轉通常會被導入進行使用,以利提供業務單位高可用性的服務。

相關資源

⬅️ Go back