SQL Server 2012、2012 和 2016 的可用性組可能嗎?
我們在主數據中心 (dc1) 中將兩個 SQL 伺服器合併到可用性組中:
dc1 server 1: SQL Server 2012 SP3 on Windows 2016 dc1 server 2: SQL Server 2012 SP3 on Windows 2012 R2
我們將打開新的數據中心 (dc2),它最終將成為新的主數據中心 在 dc2 中將有第三個 SQL 伺服器
dc2 server 3: SQL Server 2016 (or 2012) on Windows 2016
我們希望在伺服器 3 上安裝 SQL Server 2016,但這是我的問題:
–> 如果我們將 SQL Server 2016 作為第三個節點添加到具有兩個 SQL Server 2012 的現有可用性組中,可能會出現什麼問題?
–> AG 會正常工作嗎?如果你有這方面的實踐經驗,請分享
–> 我們真的需要將伺服器 3 部署為 SQL Server 2012(而不是 2016)以使 AG 正常工作嗎?
–> 如果我們選擇將伺服器 3 部署為 SQL Server 2016,那麼保持 SQL 伺服器 1、2 和 3 同步的最佳選擇是什麼(除了 AG)?是事務複製嗎
提前致謝!
- –> 如果我們將 SQL Server 2016 作為第三個節點添加到具有兩個 SQL Server 2012 的現有可用性組中,可能會出現什麼問題?
一旦故障轉移(或發生故障轉移)到 2016 年,您將無法同步其他副本。當您想以最少的停機時間進行升級時,您應該使用它。
另一個問題是關於 sql server 2014 及更高版本中引入的新查詢優化器。我看到一些查詢在較新版本上表現不佳。因此,將 2016 年作為新節點會帶來額外的風險。
- –> AG 會正常工作嗎?如果你有這方面的實踐經驗,請分享
上面的答案涵蓋了這個問題。故障轉移到 2016 將破壞副本同步狀態。升級到更高版本後,啟動頁面會升級,這會阻止 tlog 將更高版本恢復到更低版本。
- –> 我們真的需要將伺服器 3 部署為 SQL Server 2012(而不是 2016)以使 AG 正常工作嗎?
是的 - 如果您打算讓所有 3 個副本保持同步。
否 - 如果您計劃以最少的停機時間進行升級。
確保同步 sql 代理作業、登錄等,因為它們不會自動同步。
- –> 如果我們選擇將伺服器 3 部署為 SQL Server 2016,那麼保持 SQL 伺服器 1、2 和 3 同步的最佳選擇是什麼(除了 AG)?是事務複製嗎
複製是唯一可用的選項,需要考慮一些其他事項
- 與 AG 一起使用時,複製將難以維護。
- 根據您在 AG 中實現同步狀態的方式,您需要啟用跟踪標誌 1448
- 如果複製需要,所有表都應該定義 PK。
- 在複製中發布文章後,您將無法截斷表。
我的建議是使用 sql server 2012。您可以稍後通過在 sql server 2016 上正確測試您的應用程序來進行升級。