執行就地還原

本頁面說明如何將備份中的資料,還原至與備份來源資料庫同名的資料庫。閱讀本頁之前,請先熟悉備份及還原資料。

就地還原

就地還原功能可讓您將備份中的資料庫還原至建立備份的來源資料庫,同時保留原始資料庫。就地還原可避免重新轉送流量,或建立不同名稱的資料庫。

還原作業必須使用尚未存在的目的地資料庫。不過,您可以刪除來源資料庫,然後從備份還原至與來源資料庫同名的新資料庫,藉此模擬就地還原。

執行就地還原

如要執行就地還原,請按照下列步驟操作:

  1. 找出要用於還原作業的備份。
  2. 刪除現有資料庫。
  3. 使用備份和已刪除資料庫的資料庫 ID,完成還原作業。
注意:如果應用程式使用原生模式用戶端程式庫中的 Cloud Firestore,且用戶端使用離線快取,就地還原可能會將寫入內容排入還原的資料庫,而非捨棄寫入內容。如果連線至已刪除資料庫的用戶端離線,且在離線期間,快取在您執行就地還原時累積寫入作業,就可能發生這種情況。

事前準備

建議您先完成下列步驟,再開始就地還原程序。

擷取並複製資料庫的索引設定。完成就地還原作業後,請使用索引設定重新建立索引。使用下列指令擷取資料庫的索引設定:

執行就地還原

請按照下列步驟執行就地還原作業。從刪除資料庫到還原作業完成,這段期間會停機。

還原作業一旦開始就無法取消,必須等到作業完成。還原作業會立即占用作業中使用的資料庫 ID。

  1. 使用 gcloud firestore backups list 指令,找出要用於還原作業的備份,並記下資源名稱。資源名稱的格式如下:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. 使用 gcloud firestore databases delete 指令刪除現有資料庫:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    將 DATABASE_ID 替換為資料庫 ID。

  3. 刪除資料庫後,請等待至少 5 分鐘,資料庫 ID 才能再次使用。使用 gcloud firestore databases restore 指令啟動還原作業:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    將 DATABASE_ID 替換為資料庫 ID。

後續步驟