En esta página se describen las operaciones de restauración de Spanner y se explica cómo restaurar una base de datos. Para obtener más información sobre la restauración de bases de datos en Spanner, consulta el resumen de la restauración.
Puedes restaurar una base de datos de Spanner de las siguientes formas:
- En la Google Cloud consola.
- Usar Google Cloud CLI.
- Usar las bibliotecas de cliente.
- Usando las APIs REST o RPC.
Antes de empezar
En los ejemplos de la CLI gcloud de esta página se dan por supuestos los siguientes aspectos:
- Ya has configurado gcloud CLI para usarlo con Spanner. Si no has usado nunca Google Cloud CLI con Spanner, consulta el artículo Empezar a usar Spanner con Google Cloud CLI.
- Has configurado Google Cloud CLI con tu proyecto. Por ejemplo:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Para obtener los permisos que necesitas para restaurar una base de datos a partir de una copia de seguridad, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en la instancia:
-
Todos:
Administrador de restauraciones de Cloud Spanner (
roles/spanner.restoreAdmin)
-
Todos:
Administrador de restauraciones de Cloud Spanner (
Restaurar una base de datos a partir de una copia de seguridad
Consola
- Ve a la página Instancias de Spanner de la Google Cloud consola.
Ve a la página Instancias de Spanner.
Haz clic en la instancia que contiene la base de datos para abrir su página Descripción general.
Haz clic en la base de datos para abrir su página Vista general.
En el panel de navegación, haz clic en Copia de seguridad o restauración.
Haz clic en el botón Acciones de la copia de seguridad seleccionada y, a continuación, selecciona Restaurar.
Rellena el formulario y haz clic en el botón Restaurar.
Para comprobar el progreso de la operación, consulta el indicador de progreso, tal como se muestra en la página de operaciones:
Si la operación tarda demasiado, puedes cancelarla. Para obtener más información, consulta Cancelar una operación de instancia de larga duración.
gcloud
Para restaurar una base de datos, usa gcloud spanner
databases restore:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryptionNotas sobre el uso:
- El comando se devuelve inmediatamente debido a la marca
--async. Sin la marca, el comando esperará a que se complete la operación de restauración. - Si las instancias de origen y de destino son diferentes, deben tener la misma configuración de instancia.
- Si la base de datos de destino ya existe, la operación no se llevará a cabo.
- Los valores posibles de
encryption_typesonUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONoCUSTOMER_MANAGED_ENCRYPTION. Si usasCUSTOMER_MANAGED_ENCRYPTION, debes especificar unkmsKeyName.
Bibliotecas de cliente
En el siguiente código de ejemplo se restaura una base de datos a partir de una copia de seguridad determinada y se espera a que se complete la operación de restauración (una operación con RestoreDatabaseMetadata). La base de datos restaurada se crea en la misma instancia que la copia de seguridad. Una vez completado, el ejemplo recupera e imprime información de restauración de la base de datos.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby