Sql-Server

大型數據庫分區和僅更新數據的備份(部分備份)

  • October 3, 2021

我正在設置一個大型 SQL Server 數據庫(2-4tb),但只有一小部分會被更新。我想按年分區,以便我的備份可以很小。但是,某些舊數據有時可能會更改,因此我不會將任何文件或文件組標記為只讀。

我是否仍然可以僅對我選擇的文件進行部分備份而不將任何文件標記為只讀?或者是否需要將我要跳過的文件設置為只讀?

現在,如果我必須將舊數據分區標記為只讀 - 如果將來某個時間更新舊記錄,包括用於將其分配給分區的欄位,SQL Server 會將記錄移動到讀寫分區,還是此更新會失敗?(我知道,只讀意味著只讀,但在這種情況下會發生什麼?)。在這種情況下,也許我只是將記錄添加到讀寫分區,然後搜尋記錄的最新版本(最大修改日期等)

在 100 萬條記錄中,我預計每年只有 20,000 條新記錄或更新記錄。只有 200k 的記錄是“最新的”。

我希望只需要定期備份讀/寫文件,並不太頻繁地備份舊數據。

這是 SQL Server 2016 安裝(標準版)。

我不會將任何文件或文件組標記為只讀。

我仍然可以僅對文件進行部分備份嗎

不會。最小恢復順序包括所有讀/寫文件組。因此“部分備份包含主文件組、每個讀寫文件組中的數據,以及一個或多個只讀文件”

如果將來某個時間更新了舊記錄,包括用於將其分配給分區的欄位,SQL Server 會將記錄移動到讀寫分區,還是此更新會失敗?

更新將失敗。

您可以不那麼頻繁地進行完整備份,然後定期進行差異和/或事務日誌備份。如果變化不大,這些將非常小。

隨著越來越多的數據變化,差異的大小會越來越大。它們不是增量的,它們包括自上次完整備份以來的所有更改。

恢復需要更長的時間,因為您需要最新的完整備份、可能很大的最新差異以及所有後續日誌備份。

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