適用於:Microsoft Fabric 中的✅ 資料庫
在 Microsoft Fabric 中,倉庫會根據設定的保留期間自動保存並維護不同版本的資料。 這個保留期間決定了你可以追溯多久以前進行時間旅行查詢、建立資料表克隆、使用還原點以及建立倉庫快照。
資料保留會自動從建立倉庫開始。 預設情況下,倉庫會保留30個日曆天的資料歷史。 你可以將保留期設定為 1 到 120 天之間的任意值。 系統會在保留期限結束後自動刪除過期檔案。
倉庫會在設定的保留期間內保留所有的插入、更新與刪除。
- 延長保留期 可以增加時間旅行查詢、過去某一時刻的資料表克隆、還原點及倉庫快照的可用時間窗口。 然而,較長的保留期會增加儲存消耗及相關成本。
- 縮短保留期限可以 降低儲存成本,但會限制你查詢或還原歷史資料的時間範圍。
資料保留的運作方式
當資料被修改時,倉儲不會立即丟棄先前的版本狀態。 相反地,先前版本的資料會被保留在 Delta Lake 交易日誌中。 這種版本控制機制使得時間旅行、資料表克隆、還原點和倉庫快照得以運作。
當歷史資料版本超過設定的保留期限時,背景垃圾回收程序會自動將過期檔案從 OneLake 移除。 此清理過程非同步執行,不影響目前的查詢或進行中的交易。
該倉庫會以資料版本建立之日起的絕對日曆日來衡量保留資料的年齡,包括 Microsoft Fabric 容量暫停的時間。
保留期範圍
如果你沒有明確設定保留期,現有倉庫會使用預設的保留期為 30 日曆天。 你可以設定資料保留期限從 1 天到 120 天不等。
設定資料保留
透過使用 ALTER 資料庫設定倉庫的資料保留期限 ...SET T-SQL 指令。 有關步驟及更多資訊,請參見 如何在 Fabric Data Warehouse 中設定資料保留。
改變保留期時的行為
了解更改保留期限時的行為,有助於你規劃變更,避免意外的資料遺失或儲存空間增加。
延長保留期限
當你延長保留期限時,新設定會立即生效。 然而,系統在較短保留期間下已經清理過的歷史資料是無法恢復的。 只有在變更時仍存在於 OneLake 的資料版本,才能享有延長保留期。
舉例來說,如果你的倉庫目前保留期是7天,你把它延長到60天,那麼這個變更就會從那時起生效。 系統在變更前已經清理過的資料版本(超過7天)無法恢復。 然而,所有仍在變更時7天內的資料版本,以及未來新增的版本,將被保留最長60天。
縮短保留期
當你減少保留期限時,現在不再在新的較短保留期限內的資料版本將成為清理對象。 清理過程會在背景非同步執行,並非瞬間完成。 已經進行中的主動查詢不會受到影響。
例如,如果您的倉庫保留期限為 30 天,且您將其縮短至 7 天,則 8 至 30 天前的資料版本將符合背景清理的資格。
Important
從資料存取的角度來看,縮短保留期限是不可逆的。
即使你在不久後再次延長保留期限,超出該短時間內的資料仍無法再存取。 在縮短保留期限前,請確保新的保留期限符合貴組織的資料恢復與合規要求。
留任截止日期
time_travel_retention_cutoff_date
sys.databases 系統目錄檢視中的欄位反映的是實際最早的時間旅行資料可用日期,而非目前設定的保留期間。 最舊的實際資料可能與設定的保留期間不同。
使用者設定的保留期決定了系統 未來應 保留多少天數的歷史紀錄。 然而, 實際可恢復的歷史 取決於在保留變更前所保存的資料。
有兩種情況會導致設定的保留率與實際可用歷史之間產生差異:
- 保留期限已縮短 - 資料倉儲會立即將超過新保留期限的歷史資料標記為垃圾回收對象,並將其永久刪除。
- 保留期限後來延長了 - 資料倉儲無法還原已刪除的歷程記錄。 必須等待新的歷史累積完成,才能使用完整設定的視窗。
資料保留情境
在決定如何設定保留期間時,請考慮以下情境:
合規性和稽核
有法規或合規要求的組織可能需要更長時間保存資料以滿足審計義務。 將保留期設定為90天或120天,可為稽核人員提供更廣泛的歷史窗口,以檢視隨時間推移的資料變更。
開發與測試
對於開發或測試工作空間,歷史資料較不重要,較短的保留期(1 到 7 天)可降低儲存成本。 當工作區用於快速原型製作或迭代開發時,這種簡化非常實用。
成本優化
如果您的倉庫經常進行大規模資料修改(例如每日滿載),保留的歷史資料量可能會大幅增加。 在這些情況下,縮短保留期有助於控制儲存成本,同時維持合理的回收窗口。
資料復原準備
對於生產環境的倉庫而言,維持較長的保留期限,可在發生意外資料毀損時,透過 還原點、資料表複本 及 時間旅行查詢,更有彈性地進行資料復原。
可設定保留如何影響依賴功能
為Fabric Data Warehouse的以下功能設定的保留期限會均一適用。 更改保留期限會直接影響這些功能的可用性與行為。
時間移動
時間旅行 允許你查詢保存期間內過去某個時間點的資料。
FOR TIMESTAMP AS OF查詢提示可從設定的保留期間內的任何時間點擷取資料。
例如,如果保留期間設為 15 天,你可以查詢過去最多 15 日曆日的資料。
複製表格
表格克隆 依賴保留期。 你只能在設定的保留期間內,建立過去某個時間點的資料表克隆。 若超過保留期限後請求複製,將發生錯誤。
还原点
使用 還原點來恢復倉庫。 系統在設定的保留期間內,會保留系統產生的還原點與使用者定義的還原點。 保留期結束後,系統會自動刪除還原點。
- 倉庫每八小時自動建立系統生成的還原點。 這些還原點在設定的保留期間內可用。
- 使用者自訂還原點可用於設定的保留期間。 系統會在這些還原點過期後自動刪除。
Fabric 維持最低數量的還原點,以確保隨時有足夠的還原點可用。
倉儲快照
倉庫快照 可在設定的保留期間內參考資料。 快照時間戳可以設定在設定的保留期間內的任何時間點,或資料庫建立時間,以較晚者為準。
儲存體計費
資料保留直接影響 OneLake 的儲存使用量。 每個保留的資料版本會佔用儲存空間,而保存期越長,歷史版本越多。
在規劃保留設定時,請考慮較長資料歷史存取的好處與相關儲存成本之間的權衡。 欲了解更多關於監控儲存的資訊,請參閱Fabric Data Warehouse中的
- 保留資料檔案:以 Parquet 檔案形式儲存在 OneLake 中的歷史版本資料會消耗儲存空間。 儲存成本與保留期間資料修改的量與頻率成正比。
- 還原點:系統產生及使用者自訂還原點的元資料也會佔用儲存空間。 然而,還原點主要儲存元資料並參考現有資料檔案,因此其儲存負擔相對較小。
- 保存無計算費用:不會僅因保留歷史資料而產生任何計算費用。 計算費用僅在您主動查詢或還原資料時生效。
要估算保留期間變更對儲存的影響,請考慮:
- 你倉庫中每日平均的資料修改量。
- 目前的保留期限與擬議的新保留期限。
- 兩個時期之間的差異乘以平均每日修改量,即可大致反映儲存消耗的變化。
設計考量
- 根據貴組織的資料復原、合規性及成本需求來設定保留期限。 預設的 30 天為大多數工作負載提供了資料可用性與儲存成本之間的平衡。
- 將保留期限變更與您的備份及災難復原策略協調。 確保保留期間與您的復原點目標(RPO)相符。
- 更改保留期限後,監控 OneLake 儲存用量,以了解對儲存成本的影響。
- 盡可能在低活動時段調整保留期限,避免使用者受影響。
- 保留期限由倉庫層級設定。 如果你需要為不同資料集設定不同的保留期,可以考慮將它們組織成獨立的倉庫。 目前不支援個別資料表層級的保留設定。
Limitations
- 指定保留期限為整天。 不支援小數值。
- 縮短保留期限並不會立即回收儲存空間。 過期資料的清理在背景中以非同步方式進行。
- 暫停 Microsoft Fabric 容量會影響垃圾清理活動。 這個流程不會在容量暫停時移除比目前資料保留設定還舊的歷史資料。 清理工作一旦恢復容量,就會趕上進度。
- 保留設定只適用於倉庫。 Lakehouse 的 SQL 分析端點不被支援。
- 查詢洞察與 SQL 稽核日誌不受此資料保留政策約束,且需分開管理。
遺失物品保存(預覽)
已刪除項目保留 會在倉庫遭捨棄或刪除後,於可設定的一段期間內保留倉庫及其相關的資料表、結構描述、快照、權限和已儲存的查詢。 這確保了意外刪除不會導致永久資料遺失或影響業務的中斷。 放棄保留保證最低保留期為7日曆天,並有獨立的租戶層級保留配置。 你可以 在 物品恢復 租戶設定中設定丟棄物品的保留期限。