На этой странице описано, как восстановить данные из резервной копии в базу данных с тем же названием, что и у исходной базы данных. Прежде чем читать эту страницу, ознакомьтесь со статьей Резервное копирование и восстановление данных.
Восстановление на месте
Локальное восстановление позволяет восстановить базу данных из резервной копии в исходную базу данных, которая создала резервную копию, пока исходная база данных ещё существует. Восстановление на месте позволяет избежать перенаправления трафика или создания базы данных с другим именем.
Для операции восстановления необходимо использовать целевую базу данных, которая ещё не существует. Однако вы можете имитировать восстановление на месте, удалив исходную базу данных, а затем восстановив ее из резервной копии в новую базу данных с тем же именем, что и у исходной.
Как выполнить восстановление на месте
Чтобы выполнить восстановление на месте, выполните следующие действия:
- Выберите резервную копию, которую нужно использовать для восстановления.
- Удалите существующую базу данных.
- Чтобы завершить операцию восстановления, используйте резервную копию и идентификатор удаленной базы данных.
Подготовка
Прежде чем начать восстановление на месте, рекомендуем выполнить следующие действия:
Получите и скопируйте конфигурацию индекса вашей базы данных. Используйте конфигурацию индекса, чтобы повторно создать индексы после завершения операции восстановления на месте. Чтобы получить конфигурацию индекса базы данных, используйте следующие команды:
Чтобы получить список составных индексов, используйте
gcloud firestore indexes composite list:gcloud firestore indexes composite list --database=DATABASE_IDЗамените DATABASE_ID идентификатором своей базы данных.
Используйте
gcloud firestore indexes fields list, чтобы получить список исключений для встроенных индексов по одному полю.gcloud firestore indexes fields list --database=DATABASE_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 на идентификатор базы данных.
Подождите не менее пяти минут после удаления базы данных, чтобы ее идентификатор снова стал доступен. Запустите операцию восстановления с помощью команды
gcloud firestore databases restore:gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'Замените DATABASE_ID на идентификатор базы данных.
Дальнейшие действия
- Подробнее о расписаниях резервного копирования и операциях восстановления…
- Как настроить восстановление на определенный момент времени