您可以將 Spanner Omni 資料庫的備份還原至新資料庫。還原的資料庫會包含備份時原始資料庫的所有資料和結構定義資訊,包括您使用 ALTER DATABASE SET OPTIONS 指令設定的所有資料庫選項。versionTime
還原的資料庫不包含下列項目:
IAM 權限。還原作業完成後,您必須套用適當的 IAM 權限。
任何變更串流的內部資料。
由資料列刪除政策定義的存留時間 (TTL)。還原作業完成後,您必須重新設定這些政策。
預先分割資料庫時建立的分割點。
Spanner Omni 的預覽版本不支援備份或還原功能。如要使用備份及還原功能,請與 Google 聯絡,要求提前存取完整版 Spanner Omni。
還原作業的運作方式
還原 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