SQL Server 的高可用性選項
我希望將我的單伺服器 SQL Server 2008 環境升級到具有更大冗餘的平台。目前的系統是在 5 年前公司成立時投入使用的,因此盡可能降低了成本。但是,我們現在已經建立了龐大的客戶群,因此更換系統需要更加冗餘。
我們在全國有幾個站點(因為我們是一個擁有多個站點的更大集團的一部分),因此可以訪問備份辦公室等和遠端站點來託管伺服器。
我想就如何在硬體故障或無法訪問站點時最好地實現我們的兩個或三個關鍵數據庫可用的建議提出建議。我正在考慮某種類型的集群,其中包含一對本地伺服器,然後是一個帶有數據庫副本的異地伺服器。數據庫本身實際上非常小,因此硬體規格可能非常低,我可以使用一些物理盒子。但是,我意識到 SQL Enterprise 2016 非常昂貴,因為我們必須按核心獲得許可。
我對所有建議/選項等持開放態度。我們是一家純 MS 公司,所以我們沒有其他作業系統平台。我正在閱讀有關數據庫鏡像與集群等相互衝突的報告。
謝謝
對於您的現場解決方案,標準版允許您實施具有基本可用性組或數據庫鏡像的兩節點故障轉移集群實例。https://msdn.microsoft.com/en-us/library/mt614935.aspx
對於您的異地解決方案,您可以實施日誌傳送。
他們現在對許多高可用性選項使用“始終線上”命名約定。Always On 故障轉移群集實例是用於硬體故障轉移的舊 Windows Server 群集服務,而 SQL 故障轉移群集實例用於 SQL 實例故障轉移。然後是需要企業版的 Always On 可用性組,它由一組可以故障轉移到副本的數據庫組成,如果需要,副本可以是只讀的。基本可用性組是 Always On 可用性組的有限版本,僅適用於一個數據庫。當它從未來版本中刪除時,它將完全取代數據庫鏡像。最後,數據庫鏡像仍然存在。
SQL Server 2016 版功能比較: https ://msdn.microsoft.com/en-us/library/cc645993.aspx
如果您可以使用標準版滿足業務需求,那麼虛擬化的理由就會減少,這會增加另一層複雜性。
與任何事情一樣,這取決於您願意在解決方案上花費多少,而不是 SLA 對可恢復性和可用性的規定。
Brent Ozar 有一個非常好的文件來規劃 HA 環境,每個解決方案的成本都很高。關聯
您所描述的是一個 2 節點 Windows 集群,具有日誌傳送、鏡像或 Always On 數據庫副本。隨著您需要更大的冗餘和更高的可用性,每種解決方案的價格都會上漲。
考慮到您的需求,我可能還會建議一個虛擬環境。這取決於交易數量。在高交易環境中,我會保持物理狀態,但使用虛擬,您可以分配核心數量,我相信許可會更好。
如果我按照您的建議進行建構,我會使用 2 節點集群進行硬體故障轉移。如果使用 2016,那麼它將取決於正常執行時間和副本需要做什麼,以及您是否可以在數據的實時性方面存在任何差異。您可以為低端執行日誌傳送,為中端執行事務複製,然後為高端執行 AlwaysOn 組。
這始終取決於您必須在解決方案上花費多少錢。