Sql-Server

從單個備份文件旋轉多個環境

  • May 18, 2021

我遇到了一個獨特的情況,我的生產數據庫大小為 5TB (SQLSrv),每天需要在 4 台伺服器上進行複制。我正在尋找一個選項,其中所有 4 個環境都可以使用單個備份文件作為源,然後繼續單獨執行寫入操作。它將節省大量磁碟空間和恢復時間(每個環境 3 小時)

如果您願意研究 3rd 方解決方案,您可以嘗試 Redgate 的 SQL Clone。

它將創建虛擬數據文件和虛擬增量文件。這些組合的文件將呈現給 SQL Server,並將被視為數據庫的單獨副本。

您可以在此處找到文件:https ://www.red-gate.com/products/dba/sql-clone

您可以手動對第一台伺服器進行一次完整備份,然後使用它從最初恢復其他伺服器。然後設置維護計劃或作業,僅對儲存到不同位置的其他伺服器進行差異備份和/或事務日誌備份。不過,您可以將完整備份保存在一個普遍可訪問的網路位置,供您的四台伺服器使用。您可以在此處此處閱讀有關不同備份類型的更多資訊

遵循此過程可能會為您節省儲存多個完整備份的空間,但如果您需要進行還原,它不會為您節省任何時間,因為在差異事務日誌備份之前仍然需要從第一個還原初始完整備份應用。實際上,由於較新的差異備份通常會隨著時間的推移而增長,因此它們與初始完整備份的距離越遠,而且由於 SQL Server 需要處理的備份文件量將比平時多得多,我懷疑這樣,您的恢復時間會明顯延長。

通常,您希望在維護計劃中設置例行完整備份,並讓它刪除舊的備份文件,以回收空間。這樣一來,您要恢復的數據量就不是從幾年前的基本備份開始的,而且需要恢復的文件數量可能達到數十萬。

當然,在您的情況下,這將花費您更多的磁碟空間。即使只保留最新完整備份的一份副本,也必須有四個完整備份文件,每個伺服器一個,因為它們的數據在初始創建後會有所不同。但就恢復時間而言,這肯定是更好的方法。

因此,您必須在可以負擔的磁碟空間與恢復時間目標之間做出決定,這是一種平衡。

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