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 artículo Información general sobre 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.
- Mediante 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 la CLI de gcloud para usarla con Spanner. Si no has usado nunca Google Cloud CLI con Spanner, consulta la sección 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
Supongamos que tiene una instancia llamada
test-instance
y una base de datos llamadaexample-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 el rol de gestión de identidades y accesos Administrador de restauración de Cloud Spanner (
roles/spanner.restoreAdmin
) en la instancia.
Restaurar una base de datos a partir de una copia de seguridad
Consola
Ve a la página Instancias de Spanner en la Google Cloud consola.
Haz clic en la instancia que contiene la base de datos para abrir su página Resumen.
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, 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-encryption
Notas 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_type
sonUSE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
oCUSTOMER_MANAGED_ENCRYPTION
. Si usasCUSTOMER_MANAGED_ENCRYPTION
, debes especificar unkmsKeyName
.
Bibliotecas de cliente
En el siguiente ejemplo de código 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