區塊 Blob 的時間點還原
時間點還原可讓您將區塊 Blob 資料還原至先前的狀態,以提供防止意外刪除或損毀的保護。 時間點還原適用於使用者或應用程式不小心刪除資料,或應用程式錯誤損毀資料的案例。 時間點還原也支援測試案例,但在進一步測試之前必須將資料集還原為已知狀態。
只有標準效能層級的一般用途 v2 儲存體帳戶可支援時間點還原。 只有經常性存取和非經常性存取層中的資料可以使用時間點還原進行還原。 具有階層命名空間的帳戶尚不支持時間點還原。
若要了解如何啟用儲存體帳戶的時間點還原,請參閱對區塊 Blob 資料執行時間點還原。
時間點還原的運作方式
若要啟用時間點還原,您必須建立儲存體帳戶的管理原則,並指定保留期限。 在保留期限內,您可以將區塊 Blob 從目前狀態還原至先前時間點的狀態。
若要啟動時間點還原,請呼叫還原 Blob 範圍作業,並指定 UTC 時間的還原點。 您可以指定要還原容器和 Blob 名稱的字典範圍,或略過範圍以還原儲存體帳戶中的所有容器。 每個還原作業最多可支援 10 個字典範圍。
Azure 儲存體會分析在要求的還原點 (以 UTC 時間指定) 和目前的時間之間,對指定 Blob 進行的所有變更。 還原作業不可部分完成,因此只能完全成功還原所有變更,否則會失敗。 如果有任何無法還原的 Blob,則作業會失敗,且受影響容器的讀取和寫入作業會繼續。
下圖顯示時間點還原的運作方式。 一或多個容器或 Blob 範圍會還原至其狀態 n 天前,其中 n 小於或等於針對時間點還原所定義的保留週期。 其效果是還原在保留期限內所發生的寫入與刪除作業。
在一個儲存體帳戶上一次只能執行一個還原作業。 還原作業在進行中時無法取消,但可以執行第二個還原作業來復原第一個作業。
還原 Blob 範圍作業會傳回可唯一識別作業的還原識別碼。 若要檢查時間點還原的狀態,請使用還原 Blob 範圍作業所傳回的還原識別碼,呼叫 Get Restore Status 作業。
重要
當您執行還原作業時,Azure 儲存體會對要在作業執行期間還原的範圍內 Blob 封鎖資料作業。 在主要位置中會封鎖讀取、寫入和刪除作業。 因此,在還原作業執行期間,在 Azure 入口網站中列出容器之類的作業可能不會如預期執行。
如果儲存體帳戶是由異地複寫,則在還原作業執行期間,從次要位置讀取的作業可以繼續進行。
警告
時間點還原支援針對僅限區塊 Blob 的作業進行還原。 對容器採取的任何作業都無法還原。 例如,如果您藉由呼叫刪除容器作業來刪除儲存體帳戶中的容器,則無法使用時間點還原作業還原該容器。 如果您稍後想要還原,請刪除個別的 Blob,而不是刪除整個容器。
時間點還原的必要條件
若要啟用時間點還原,則需要先啟用下列 Azure 儲存體功能:
若要深入了解 Microsoft 的資料保護建議,請參閱資料保護概觀。
警告
啟用儲存體帳戶的 Blob 版本設定之後,該帳戶中 Blob 的每個寫入作業都會導致建立新版本。 基於這個原因,啟用 Blob 版本設定可能會導致額外成本。 若要將成本降到最低,請使用生命週期管理原則來自動刪除舊版本。 如需生命週期管理的詳細資訊,請參閱藉由自動化 Azure Blob 儲存體存取層將成本最佳化。
時間點還原的保留期間
當您針對儲存體帳戶啟用時間點還原時,需要指定保留期間。 您儲存體帳戶中的區塊 Blob 可在保留期間內還原。
保留期間會在您啟用時間點還原後的幾分鐘開始。 請記住,您無法將 Blob 還原至保留期間開始之前的狀態。 例如,如果您在 5 月 1 日啟用時間點還原,保留 30 天,則在 5 月 15 日,您最多可以還原 15 天。 在 6 月 1 日,您可以還原 1 到 30 天的資料。
時間點還原的保留期間必須至少小於虛刪除指定的保留期間一天。 例如,如果虛刪除保留期間設定為七天,則時間點還原保留期間可介於 1 到 6 天之間。
注意
您為時間點還原指定的保留期間不會影響 Blob 版本的保留期間。 Blob 版本會保留到明確刪除為止。 若要藉由刪除較舊的版本以將成本最佳化,請建立生命週期管理原則。 如需更多資訊,請參閱藉由自動管理資料生命週期將成本最佳化。
還原一組資料所需的時間,取決於在還原期間所進行的寫入和刪除作業數目。 例如,假設有個帳戶包含一百萬個 Blob,而且每日會新增 3,000 個 Blob 並刪除 1,000 個 Blob,則大約需要兩小時,才能還原至過去 30 天的某個時間點。 若帳戶的變動率達到此種程度,則不建議保留期間和還原作業超出過去 90 天。
時間點還原的權限
若要開始還原作業,用戶端必須具有儲存體帳戶中所有容器的寫入權限。 若要使用 Microsoft Entra ID 授與授權還原作業的權限,請將儲存體帳戶參與者角色指派給儲存體帳戶、資源群組或訂用帳戶層級的安全性主體。
限制和已知問題
區塊 Blob 的時間點還原具有下列限制和已知問題:
- 在時間點還原作業中,只能還原標準一般用途 v2 儲存體帳戶中的區塊 Blob。 附加 Blob、分頁 Blob 和進階區塊 Blob 不會還原。
- 如果您已在保留期間內刪除容器,則該容器將不會隨著時間點還原作業還原。 如果您嘗試還原的 Blob 範圍包含已刪除容器中的 Blob,則時間點還原作業會失敗。 若要了解如何防止刪除容器,請參閱容器的虛刪除。
- 如果您在還原時間點期間使用永久刪除來清除虛刪除的 Blob 版本,則還原作業可能無法正確還原該 Blob。
- 如果在目前的時間和還原點之間的期間內,將 Blob 移至經常性存取層與非經常性存取層之間,則會將 Blob 還原至先前的層級。
- 不支援還原封存層中的區塊 Blob。 例如,如果經常性存取層的 Blob 在兩天前已移至封存層,且還原作業還原至三天前的某個時間點,則 Blob 不會還原至經常性存取層。 若要還原封存的 Blob,請先將其移出封存層。 如需詳細資訊,請參閱將 Blob 從封存層解除凍結的概觀。
- 不支援部分還原作業。 因此,如果容器中有封存 Blob,則整個還原作業會失敗,因為不支援還原封存層中的區塊 Blob。
- 如果設定了不變性原則,則可以起始還原作業,但不會修改任何由不變性原則保護的 Blob。 在此情況下,還原作業不會還原至指定日期和時間的一致狀態。
- 已透過放置區塊或從 URL 放置區塊上傳,但未透過放置區塊清單認可的區塊不是 Blob 的一部分,因此不會在還原作業中還原。
- 如果具有作用中租用的 Blob 包含在要還原的範圍中,而且如果目前版本的租用 Blob 與針對 PITR 提供的時間戳上舊版不同,則還原作業會以不可部分完成的方式失敗。 建議您在起始還原作業之前中斷任何作用中的租用。
- 若在儲存體帳戶上執行客戶管理的容錯移轉,將會重設儲存體帳戶最早的可能還原點。 如需詳細資訊,請參閱時間點還原。
- 在還原作業中不會建立或刪除快照集。 只有基底 Blob 會還原為先前的狀態。
- 透過 Azure Data Lake Storage Gen2 的階層命名空間或作業不支援時間點還原。
- 當儲存體帳戶的 AllowedCopyScope 屬性設定為將複製範圍限製為相同的 Microsoft Entra 租使用者或虛擬網路時,不支援時間點還原。 如需詳細資訊,請參閱 關於複製作業的允許範圍 (預覽)。
- 當儲存體帳戶或帳戶中的容器上啟用版本層級不變性時,不支援時間點還原。 如需版本層級不變性的詳細資訊,請參閱 設定 Blob 版本的不變性原則。
重要
如果您將區塊 Blob 還原到早於 2020 年 9 月 22 日的某個時間點,則時間點還原的預覽限制將會生效。 Microsoft 建議您選擇等於或晚於 2020 年 9 月 22 日的還原點,以充分利用正式推出的時間點還原功能。
功能支援
啟用 Data Lake Storage Gen2、網路檔案系統 (NFS) 3.0 通訊協定,或 SSH 檔案傳輸通訊協定 (SFTP),可能會影響到此功能的支援。 如果您已啟用上述任何功能,請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援,以評估此功能的支援。
定價和帳務
啟用時間點還原不需要付費。 不過,啟用時間點還原也會啟用 Blob 版本設定、虛刪除和變更摘要,每項功能都可能產生額外的費用。
執行時間點還原作業的計費是根據還原處理的變更摘要資料量。 您也須支付還原程序相關的儲存體交易費用。
如需時間點還原價格的詳細資訊,請參閱區塊 Blob 價格。