這個頁面說明如何將備份中的資料,還原至名稱與備份來源資料庫相同的資料庫。閱讀本頁之前,請先熟悉備份及還原資料。
就地還原
就地還原功能,可讓您將備份中的資料庫還原至建立備份的來源資料庫,而原始資料庫仍然存在。就地還原有助於避免重新轉送流量,或建立使用其他名稱的資料庫。
還原作業必須使用尚未存在的目的地資料庫。不過,您可以刪除來源資料庫,然後從備份還原至來源資料庫名稱相同的新資料庫,藉此模擬就地還原作業。
執行就地還原作業
如要執行就地還原,請按照下列步驟操作:
- 找出要用於還原作業的備份。
- 刪除現有資料庫。
- 使用已刪除資料庫的備份和資料庫 ID 完成還原作業。
事前準備
建議您先完成下列步驟,再開始就地還原程序:
在要刪除的資料庫中匯出資料。
如果您需要復原已刪除的資料庫,請從匯出作業匯入資料。如要將已刪除的資料庫復原至相同的資料庫 ID,您必須等到任何執行中的還原作業完成,然後:
- 刪除含有資料庫 ID 的現有資料庫,並至少等待 5 分鐘
- 使用資料庫 ID 建立新的資料庫
- 開始匯入作業
擷取並複製資料庫的索引設定。匯出作業不會擷取索引定義。完成就地還原作業後,請使用索引設定重新建立索引。使用下列指令擷取資料庫的索引設定:
使用
gcloud firestore indexes composite list
擷取複合式索引清單:gcloud firestore indexes composite list --database=DATABASE_ID
請將 DATABASE_ID 替換為資料庫的 ID。
請使用
gcloud firestore indexes fields list
擷取單一欄位 (內建) 索引豁免清單。gcloud firestore indexes fields list --database=DATABASE_ID
執行就地還原作業
如要執行就地還原作業,請完成下列步驟。這項程序需要從您刪除資料庫到還原作業完成的這段時間。
還原作業開始後,您就無法取消作業,必須等待作業完成為止。還原作業會立即佔用該作業使用的資料庫 ID。
使用
gcloud alpha firestore backups list
指令識別還原作業要使用的備份,並記下資源名稱。資源名稱使用以下格式:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
使用
gcloud firestore databases delete
指令刪除現有資料庫:gcloud firestore databases delete --database='DATABASE_ID'
請將 DATABASE_ID 改成資料庫 ID。
刪除資料庫後,請等待至少 5 分鐘,讓系統再次提供資料庫 ID。使用
gcloud alpha firestore databases restore
指令啟動還原作業:gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
請將 DATABASE_ID 改成資料庫 ID。