執行就地還原作業

適用於 Cloud Firestore Standard 版和 Cloud Firestore Enterprise 版。

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

就地還原

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

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

執行就地還原

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

  1. 找出要用於還原作業的備份。
  2. 刪除現有資料庫。
  3. 使用備份和已刪除資料庫的資料庫 ID 完成還原作業。
注意:如果應用程式使用 Native 模式用戶端程式庫的 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。

後續步驟