Sql-Server

如何負載平衡可用性組

  • June 30, 2016

我在 SQL Server 集群下有 2 台伺服器(伺服器 1、伺服器 2)

2 個配置了可用性組的數據庫(數據庫 1、數據庫 2)

伺服器 1:

數據庫 1 主副本

數據庫 2 主副本

伺服器 2:

數據庫 1:次要副本

數據庫 2:次要副本

如果數據庫 1 開始消耗大量資源並且我想添加第三台伺服器(伺服器 3)以降低伺服器 1 的壓力,這個給定的範例是否可行?

伺服器 1:

數據庫 1 輔助副本

數據庫 2 主副本

伺服器 2:

數據庫 1

次要副本 數據庫 2 次要副本

伺服器 3:

數據庫 1 主要副本

數據庫 2 次要副本

這是否可以在對使用者影響最小的情況下進行配置?我只想知道使用可用性組進行水平擴展的可能性,因為我們無法通過向伺服器添加資源來垂直擴展,備份可以在輔助副本上進行,對嗎?

百萬美元的問題是 - 在您目前的情況下,是否值得在 Windows 故障轉移集群中添加額外的伺服器?

恕我直言,不-因為您使用的是 sql server 2012。

為什麼 ?

SQL Server 2012 和 2014 將允許將定向流量只讀路由到路由列表中定義的第一個可用副本 - 前提是第一個只讀副本可訪問,否則它將獲取下一個可用副本。

因此,在 sql server 2012 和 2014 中,即使您有多個可用於處理讀取請求的輔助設備,也不可能將讀取負載分散到可用的輔助設備上。

SQL Server 2016 允許您跨一組只讀副本配置負載平衡

這是否可以在對使用者影響最小的情況下進行配置?

可能影響最小,但正如我上面所說,這樣做不值得。

怎麼做 ?

  • 將伺服器 3 添加到 Windows 故障轉移群集。
  • 從伺服器 1 進行完整備份(因為它是主伺服器)並with no recovery在伺服器 3 上恢復它。
  • 從伺服器 1 獲取日誌備份並with norecovery在伺服器 3 上恢復。
  • 將數據庫加入可用性組。
  • 將同步模式更改為同步,然後故障轉移server1.db1server3.db1,現在server3.db1將是主要的。
  • 恢復所有輔助副本上的數據移動​​。在我的測試中,數據移動被暫停,你必須恢復它。

下面是它的外觀(圖不漂亮,但它解釋了我在說什麼:-))

在此處輸入圖像描述

可以在輔助副本上進行備份嗎?

是的,您可以在輔助副本上進行 copy_only 完整和定期日誌備份。必須在主數據庫上執行完整備份。

引用自:https://dba.stackexchange.com/questions/142659