高可用性解決方案概觀

本節介紹幾個可增進伺服器或資料庫可用性的 SQL Server 高可用性解決方案。高可用性解決方案可掩飾硬體或軟體失敗所造成的影響,並維護應用程式的可用性,進而讓使用者的停機時間減至最少。

SQL Server 提供幾個選項以供建立伺服器或資料庫的高可用性。高可用性選項包括下列各項:

  • 容錯移轉叢集

    容錯移轉叢集為 SQL Server 的整個執行個體提供高可用性支援。容錯移轉叢集是一個或多個節點或伺服器的組合,具有兩個以上的共用磁碟。應用程式會個別安裝到 Microsoft 叢集服務 (MSCS) 叢集群組 (又稱為資源群組) 中。在任何時候,每個資源群組都只能由叢集中的某個節點所擁有。應用程式服務擁有與節點名稱無關的虛擬名稱,稱為容錯移轉叢集執行個體名稱。應用程式可以透過參考這個容錯移轉叢集執行個體名稱,連接到容錯移轉叢集執行個體;應用程式不需要知道主控容錯移轉叢集執行個體的是哪一個節點。

    SQL Server 容錯移轉叢集執行個體會以單一電腦的型態出現在網路上,但是這種執行個體具有容錯移轉的功能,可以在目前的節點無法使用時,從該節點容錯移轉到另一個節點。例如,在非磁碟的硬體錯誤、作業系統錯誤或計劃的作業系統升級期間,您可以在容錯移轉叢集的其中一個節點上設定 SQL Server 的執行個體,以便容錯移轉至磁碟群組中的其他任何節點。

    容錯移轉叢集不會防護磁碟錯誤。您可以使用容錯移轉叢集來減少系統停機時間,並提供較高的應用程式可用性。 SQL Server Enterprise、SQL Server Developer 和 SQL Server Standard (有某些限制) 可支援容錯移轉叢集。如需有關容錯移轉叢集的詳細資訊,請參閱<SQL Server 2008 容錯移轉叢集使用者入門>和<安裝 SQL Server 2008 容錯移轉叢集>。

  • 資料庫鏡像

    資料庫鏡像基本上是一種軟體解決方案,它可支援幾乎是瞬間的容錯移轉,進而提高資料庫的可用性。資料庫鏡像可用以維護實際執行的資料庫 (稱為「主體資料庫」) 所對應的單一待命資料庫 (或稱「鏡像資料庫」)。

    鏡像資料庫是在不復原的情況下,藉由還原主體資料庫的資料庫備份所建立的一種資料庫,因此用戶端不能存取鏡像資料庫。但是,您還是可以在鏡像資料庫上建立資料庫快照集,間接使用鏡像資料庫來進行報告。資料庫快照集可讓用戶端以唯讀模式存取資料庫中的資料 (建立快照集時就存在的資料)。

    每個資料庫鏡像組態都包括一部內含主體資料庫的「主體伺服器」,以及一部內含鏡像資料庫的鏡像伺服器。鏡像伺服器會持續地讓鏡像資料庫與主體資料庫保持同步。

    資料庫鏡像可以以高安全性模式的同步作業,或高效能模式的非同步作業執行。在高效能模式下,交易不會等待鏡像伺服器將記錄寫入磁碟,即逕行認可,藉以達到最大效能。在高安全性模式下,已認可交易將同時經過兩個夥伴的認可,不過必須承擔交易延遲性增加的風險。

    資料庫鏡像最簡單的組態只包括主體和鏡像伺服器。在這種組態中,如果失去了主體伺服器,鏡像伺服器就可以當成暖待命伺服器,但可能會遺失資料。高安全性模式支援另外一種組態,也就是具有自動容錯移轉的高安全性模式。這種組態包含第三個伺服器執行個體 (稱為「見證」),可以讓鏡像伺服器扮演熱待命伺服器的角色。從主體資料庫容錯移轉至鏡像資料庫通常只需要數秒鐘的時間。

    自從 SQL Server 2005 Service Pack 1 (SP1) 以來,SQL Server Standard 和 SQL Server Enterprise 就已經支援資料庫鏡像夥伴伺服器和見證。但是夥伴伺服器必須使用相同的版本,而且只有 SQL Server Enterprise 才支援非同步資料庫鏡像 (高效能模式)。SQL Server Workgroup 和 SQL Server Express 也支援見證。

    如需有關資料庫鏡像的詳細資訊,請參閱<資料庫鏡像>。

  • 記錄傳送

    記錄傳送跟資料庫鏡像一樣,都是在資料庫層級運作。您可以使用記錄傳送來針對稱為「主要資料庫」(Primary Database) 的對應實際執行資料庫維護一個或多個暖待命資料庫。待命資料庫也稱為「次要資料庫」(Secondary Database)。每個次要資料庫都是在不復原的情況下,或是以待命方式,藉由還原主要資料庫的資料庫備份所建立的一種資料庫。以待命方式進行還原可讓您將產生的次要資料庫用於受限的報告。

    記錄傳送組態包括內含主要資料庫的單一主要伺服器、各有一個次要資料庫的一或多部次要伺服器,以及一部監視伺服器。每隔一段時間,每一部次要伺服器都會定期從主要資料庫的記錄備份更新其次要資料庫。在記錄傳送中,使用者可以修改主要伺服器建立主要資料庫備份,以及次要伺服器還原記錄備份之間的延遲時間。在進行容錯移轉之前,您必須手動套用任何未還原的記錄備份,讓次要資料庫完全處於最新狀態。

    記錄傳送提供支援多個待命資料庫的彈性。若您需要多個待命資料庫,可單獨使用記錄傳送,或是以記錄傳送做為資料庫鏡像的輔助。當這些解決方案一起使用時,資料庫鏡像組態的現行主體資料庫也就是記錄傳送組態的現行主要資料庫。

    SQL Server Enterprise Edition、Standard Edition 和 Workgroup Edition 都支援記錄傳送。如需有關記錄傳送的詳細資訊,請參閱<記錄傳送概觀>和<記錄傳送管理>。

  • 複寫

    複寫會使用發行-訂閱模型,如此可讓主要伺服器 (稱為「發行者」) 將資料散發至一或多部次要伺服器 (或稱「訂閱者」)。複寫可讓這些伺服器之間有了即時可用性及延展性。它支援篩選機制,以便在「訂閱者」上提供資料子集,並可允許分割式更新。訂閱者是在線上而且可用以執行報告或其他功能,但不包含查詢復原。SQL Server 提供三種複寫:快照式、交易式及合併式。交易式複寫的延遲最低,而且通常用於高可用性。如需詳細資訊,請參閱<提升延展性和可用性>。

    SQL Server 的所有版本都支援複寫,但 SQL Server Express 或 SQL Server Compact 3.5 SP1 無法使用複寫發行。

    重要注意事項重要事項

    對於任何高可用性的解決方案而言,設計及實作良好的備份與還原策略很重要。如需詳細資訊,請參閱<在 SQL Server 中備份和還原資料庫>和<備份與還原複寫的資料庫>。

  • 可擴充共用資料庫

    可擴充共用資料庫功能可讓您向外延展供報告用途專用而建立的唯讀資料庫。報表資料庫必須位於一組專用的唯讀磁碟區上,其主要用途是主控資料庫。藉由使用伺服器和磁碟區的商用硬體,您可以向外延展報表資料庫,它提供多部報表伺服器上報表資料的相同檢視。此功能也可讓報表資料庫有順利的更新路徑。如需詳細資訊,請參閱<可擴充共用資料庫的概觀>。

本章節內容

主題

描述

選取高可用性的解決方案

列出選取高可用性解決方案時的考慮事項。