与 Cloud Firestore 标准版和 Cloud Firestore 企业版相关。 |
本页面介绍了如何将备份中的数据恢复到与备份的源数据库同名的某个数据库中。在阅读本页内容之前,您应先熟悉备份和恢复数据部分的内容。
就地恢复
借助就地恢复,您可以在原始数据库仍存在的情况下,将数据库从备份恢复到创建该备份的源数据库。如果使用就地恢复,您可以避免重新路由流量,也无需另外创建一个具有不同名称的数据库。
恢复操作必须使用尚不存在的目标数据库。不过,您可以通过删除源数据库,然后从备份恢复到与源数据库同名的新数据库,来模拟就地恢复。
执行就地恢复
如需执行就地恢复,请按以下步骤操作:
- 确定要用于恢复操作的备份。
- 删除现有数据库。
- 使用所删除数据库的备份和数据库 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 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 firestore databases restore
命令开始恢复操作:gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
将 DATABASE_ID 替换为相应的数据库 ID。