En esta página, se describen las operaciones de restablecimiento de Spanner y se explica cómo restablecer una base de datos. Para obtener más información sobre el restablecimiento de bases de datos en Spanner, consulta Descripción general del restablecimiento.
Puedes restablecer la copia de seguridad en la instancia de destino si usa la misma edición o una de nivel superior que la instancia de copia de seguridad de origen. De manera alternativa, puedes restablecerla en cualquier instancia con la misma configuración y una edición que sea igual o de nivel superior que la instancia de origen.
Puedes restablecer una base de datos de Spanner con lo siguiente:
- En la Google Cloud consola de.
- Con Google Cloud CLI.
- Con bibliotecas cliente.
- Con las REST o RPC APIs.
Antes de comenzar
En los ejemplos de gcloud CLI de esta página, se supone que hiciste lo siguiente:
- Ya configuraste gcloud CLI para usarlo con Spanner. Si no tienes experiencia en el uso de gcloud CLI con Spanner, consulta Comienza a usar Spanner con gcloud CLI.
- Configuraste gcloud 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 restablecer una base de datos a partir de una copia de seguridad, pídele a tu administrador que te otorgue los siguientes roles de IAM en la instancia:
-
Todos:
Administrador de restablecimiento de Cloud Spanner (
roles/spanner.restoreAdmin)
-
Todos:
Administrador de restablecimiento de Cloud Spanner (
Restablece una base de datos a partir de una copia de seguridad
Console
- Ve a la página Instancias de Spanner en la Google Cloud consola de.
Ir 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 Descripción general.
En el panel de navegación, haz clic en Copia de seguridad/Restablecimiento.
Haz clic en el botón Acciones de la copia de seguridad seleccionada y, luego, selecciona Restablecer.
Selecciona una instancia de destino compatible y asígnale un nombre a tu nueva base de datos.
Haz clic en el botón Restablecer.
Para verificar 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 Cancela una operación de instancia de larga duración .
gcloud
Para restablecer 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 de uso:
- El comando se muestra de inmediato debido a la marca
--async. Sin la marca, el comando esperará a que se complete la operación de restablecimiento. - Si las instancias de origen y destino son diferentes, deben tener la misma configuración de instancia.
- Si la base de datos de destino ya existe, la operación fallará.
- Los valores posibles para
encryption_typesonUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTIONoCUSTOMER_MANAGED_ENCRYPTION. Si usasCUSTOMER_MANAGED_ENCRYPTION, debes especificar unkmsKeyName.
Bibliotecas cliente
Con la siguiente muestra de código, se restablece una base de datos de una
copia de seguridad determinada y espera a que se complete la operación de restablecimiento (una operación con
RestoreDatabaseMetadata) para
completar. La base de datos restablecida se crea en la misma instancia que la copia de seguridad. Una vez completada, la muestra recupera e imprime información de restablecimiento de la base de datos.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Recupera una tabla específica de una copia de seguridad
Si necesitas recuperar una tabla específica de una copia de seguridad, puedes restablecer la copia de seguridad en una base de datos nueva, exportar esa tabla única de la base de datos nueva y, luego, importar esa tabla a tu base de datos original. Este enfoque minimiza la carga en la base de datos original durante el proceso de exportación.
- Restablece la copia de seguridad en una base de datos nueva y separada.
Opcional: Borra las filas que se crearon después de la marca de tiempo de recuperación.
El proceso de importación no borra automáticamente las filas que se agregaron a la tabla después de que se creó la copia de seguridad. Por lo tanto, si deseas que la tabla recuperada coincida exactamente con el estado de la copia de seguridad, debes borrar de forma manual las filas que se crearon después de la marca de tiempo de la copia de seguridad.
Exporta la tabla específica de la base de datos nueva con la plantilla de Dataflow de Spanner a Avro Avro. Para obtener más información, consulta Exporta un subconjunto de tablas.
Importa la tabla exportada a tu base de datos original con la plantilla de Dataflow de Avro de Cloud Storage a Spanner. Para obtener más información, consulta Importa datos.