Sql-Server

SQL Server 鏡像部分數據庫的有效性

  • March 23, 2022

我們的數據庫儲存了 200 TB 的數據。我們已經設置了兩個 VM 節點與一個儲存的集群選項,但由於資源有限,我們無法複製整個數據庫以進行災難恢復(最多只能節省大約 100 GB)。

所以,我想知道是否可以鏡像數據庫的部分部分。

  1. 區分活動數據,將它們拉入單獨的數據庫(可能最多 20 GB 的活動數據)
  2. 為新數據庫設置數據庫鏡像

問題:

  • 如果部分數據庫被鏡像,我應該擔心性能問題嗎?
  • 是否有其他已知的解決方案可以為 DR 情況做準備?

如果不了解伺服器的詳細規格和配置,可能很難提供最佳答案,但我想知道其他伺服器是如何在資源有限的情況下處理的。

謝謝!

我認為您應該考慮事務複製,而不是將數據提取到單獨的數據庫中,然後鏡像該數據庫。

我認為複制不是一個高可用性解決方案,例如它不提供自動故障轉移,但我認為它適合您的需求,因為您只想複製一些表,您還可以將過濾器應用於已發布的表,以便您可以複製只是數據的一部分,而不是整個表(如果您想做類似的事情)。如果您想將應用程序重定向到您的副本,您可以創建一個指向主 sql 實例的 DNS 條目並將連接字元串設置為使用該 DNS 而不是伺服器名或 ip,您只需更改 DNS 以使其指向主體實例或副本,因此您不必接觸應用程序即可進行故障轉移。

當然,複製會查看複製的局限性並評估這是否符合您的需求。

正如您所提到的,在不了解您場景的所有規格的情況下很難提供建議,但我希望這可以替代您的情況。

考慮以下是 SQL Server 中可用的 DR 解決方案,但它們都沒有獲得數據庫部分同步的選項。

  1. 備份
  2. 日誌運輸
  3. FCI(多子網)
  4. 可用性組

區分活動數據,將它們拉入單獨的數據庫

基於此,我假設我們進行數據庫歸檔時對應用程序沒有影響,在這種情況下,您可以使用SSIS 包/複製/自定義腳本一次性進行數據庫歸檔,並將數據庫的活動部分留給應用程序,這個會以不同方式提高性能,您可以使用以下解決方案規劃 DR:

備份(異地)

這對於任何數據庫都是必不可少的,在您的情況下,在異地進行存檔數據庫備份(1 個副本,因為沒有寫操作)將有助於災難恢復時間。

日誌運輸

為數據庫配置日誌傳送(活動部分)。這基本上需要從主站點頻繁返回日誌並在 DR 站點恢復,因為我們可以控制日誌備份計劃,我們可以最大限度地減少主伺服器上的過載(當然它必須符合您的 RTO/RPO)

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