還原 Spanner Omni 備份

您可以將 Spanner Omni 資料庫的備份還原至新資料庫。還原的資料庫包含原始資料庫在備份 versionTime 的所有資料和結構定義資訊,包括您使用 ALTER DATABASE SET OPTIONS 指令設定的所有資料庫選項。

還原的資料庫不含下列項目:

  • IAM 權限。還原完成後,您必須套用適當的 IAM 權限。

  • 任何變更串流的內部資料。

  • 由資料列刪除政策定義的存留時間 (TTL)。還原完成後,您必須重新設定這些政策。

  • 預先分割資料庫時建立的分割點。

還原作業的運作方式

還原 Spanner Omni 資料庫時,必須指定來源備份和新的目標資料庫。無法還原至現有資料庫。

還原程序提供高可用性。只要目標區域和可用區的多數仲裁可用,您就能還原資料庫。

還原狀態

還原的資料庫會經歷三種狀態,並由兩項長時間執行的作業追蹤。

狀態 說明
CREATING Spanner Omni 會建立新的資料庫,並從備份掛接檔案,開始還原作業。處於這個狀態時,還原的資料庫尚未準備就緒,無法使用。完成後,即可使用資料庫。

注意:Spanner Omni 不允許在還原備份時刪除備份。還原作業完成且資料庫進入 READY 狀態後,即可刪除。
READY_OPTIMIZING 掛接備份後,Spanner Omni 會開始將資料複製到新資料庫,同時最佳化儲存大小。資料庫在過程中可正常使用。

注意事項:
  • 讀取延遲時間可能會比平常稍高。
  • 儲存空間指標會顯示新資料庫的大小,而非備份的大小。結果可能無法反映轉移期間所有資料的總大小。
  • 在這個狀態下,您無法刪除已掛接的備份。
READY 複製和最佳化作業完成後,資料庫會轉換為 READY 狀態。資料庫已完全還原,不再需要備份。

如要追蹤 CREATING 狀態期間的進度,您可以查詢長時間執行的還原作業,這項作業會傳回 RestoreDatabaseMetadata 物件。在 READY_OPTIMIZING 狀態期間,作業會傳回 OptimizeRestoredDatabaseMetadata 物件。

存取控管 (IAM)

下列角色提供 Spanner Omni 還原作業所需的權限:

IAM 角色 權限
roles/spanner.restoreAdmin 從備份還原的權限。
roles/spanner.admin 具備還原作業和所有其他 Spanner Omni 資源的完整存取權。
owner 具備還原作業的完整權限。
editor 具備還原作業的完整權限。
viewer 可查看還原作業。無法建立、更新、刪除或複製備份。

從備份還原資料庫

如要還原資料庫,請使用 spanner databases restore 指令:

spanner databases restore \
  --destination-database=RESTORE_DATABASE_NAME \
  --source-backup=BACKUP_NAME \
  --async

後續步驟