Usar la recuperación a un momento dado (PITR)

En esta página se describe cómo usar la recuperación a un momento dado (PITR) para restaurar tu instancia principal de Cloud SQL.

Para obtener más información sobre la PITR, consulta el artículo Recuperación a un momento dado (PITR).

Si creas una instancia de la edición Enterprise Plus de Cloud SQL, PITR se habilita de forma predeterminada, independientemente del método que utilices para crearla. Si quieres inhabilitar la función, debes hacerlo manualmente.

Si creas una instancia de Cloud SQL Enterprise, PITR estará inhabilitado de forma predeterminada, independientemente del método que utilices para crearla. En este caso, si quieres habilitar la función, debes hacerlo manualmente.

Almacenamiento de registros para PITR

El 31 de mayo del 2024, lanzamos el almacenamiento de registros de transacciones para PITR en Cloud Storage. Desde este lanzamiento, se aplican las siguientes condiciones:

  • Las instancias de Cloud SQL con PITR habilitado creadas antes de esta fecha solían almacenar los registros de transacciones de PITR en el disco. Los registros de transacciones de PITR de la mayoría de estas instancias se han migrado a Cloud Storage. Para verificar la ubicación del registro de una instancia específica, consulta Comprobar la ubicación de almacenamiento de los registros de transacciones utilizados para la restauración a un momento dado.

  • Todas las instancias de Cloud SQL creadas con PITR habilitado a partir de esta fecha almacenan estos registros en Cloud Storage.

Los registros de transacciones se actualizan con regularidad y usan espacio de almacenamiento. Cloud SQL elimina automáticamente los registros de transacciones con sus copias de seguridad automáticas asociadas. Esto ocurre cuando se alcanza el valor definido para el parámetro transactionLogRetentionDays. Para obtener más información sobre este parámetro, consulta Registros y uso del disco.

En las instancias que almacenan registros de transacciones solo en el disco, puedes configurar Cloud SQL para que almacene los registros en Cloud Storage. Para ello, primero desactiva y, después, vuelve a habilitar PITR. No puedes mover los registros de Cloud Storage al disco.

Para asegurarte de que los registros de tu instancia se almacenan en Cloud Storage en lugar de en el disco, haz lo siguiente:

Registros y uso del disco

En el caso de las instancias que tienen registros de transacciones almacenados en Cloud Storage, los registros se almacenan en la misma región que la instancia principal. Este almacenamiento de registros (hasta 35 días en la edición Cloud SQL Enterprise Plus y siete días en la edición Cloud SQL Enterprise, que es la duración máxima de la recuperación a un momento dado) no genera ningún coste adicional por instancia.

Cloud SQL genera registros de transacciones con regularidad y estos registros usan espacio de almacenamiento. Cloud SQL elimina los registros de transacciones automáticamente junto con las copias de seguridad automáticas asociadas. Esto ocurre cuando se alcanza el valor que ha definido para el parámetro transactionLogRetentionDays. Este parámetro especifica el número de días que Cloud SQL conserva los registros de transacciones. En la edición Cloud SQL Enterprise Plus, puedes definir el número de días que se conservan los registros de transacciones entre 1 y 35. En la edición Cloud SQL Enterprise, puedes definir este valor entre 1 y 7.

Si no se define ningún valor para este parámetro, se establece el periodo de conservación predeterminado de los registros de transacciones, que es de 14 días para las instancias de la edición Enterprise Plus de Cloud SQL y de 7 días para las instancias de la edición Enterprise de Cloud SQL. Para obtener más información sobre cómo aplicar este ajuste, consulta Definir la retención de registros de transacciones.

Para saber cuánto espacio en disco usan los registros de transacciones, consulta la métrica bytes_used_by_data_type de la instancia. El valor del tipo de datos devuelve el tamaño de los registros de transacciones en el disco. En las instancias que almacenan en disco los registros de transacciones que se usan para la recuperación a un momento dado, Cloud SQL purga los datos del disco a diario para cumplir el transactionLogRetentionDays ajuste de recuperación a un momento dado. Para obtener más información, consulta Conservación de copias de seguridad automatizada.

Limitaciones

Las siguientes limitaciones están asociadas a que tu instancia tenga habilitada la recuperación a un momento dado y a que el tamaño de tus registros de transacciones en el disco provoque un problema en tu instancia:

  • Puedes desactivar PITR y volver a habilitarlo para asegurarte de que Cloud SQL almacene los registros en Cloud Storage en la misma región que la instancia. Sin embargo, Cloud SQL elimina los registros que ya existen, por lo que no puedes realizar una operación de PITR anterior al momento en el que volviste a habilitar PITR.
  • Puedes aumentar el tamaño del almacenamiento de la instancia, pero el aumento del tamaño del registro de transacciones en el uso del disco podría ser temporal.
  • Para evitar problemas de almacenamiento inesperados, le recomendamos que habilite los aumentos automáticos del almacenamiento. Esta recomendación solo se aplica si tu instancia tiene habilitada la recuperación a un momento dado y tus registros se almacenan en el disco.
  • Si quieres eliminar registros y recuperar almacenamiento, puedes desactivar PITR sin volver a habilitarlo. Sin embargo, reducir el almacenamiento utilizado no disminuye el tamaño del disco aprovisionado para la instancia.
  • Los registros se purgan una vez al día, no de forma continua. Si se define la retención de registros en dos días, se conservarán al menos dos días de registros y, como máximo, tres. Te recomendamos que definas el número de copias de seguridad como uno más que los días de conservación de registros.

    Por ejemplo, si especifica 7 como valor del parámetro transactionLogRetentionDays, en el parámetro backupRetentionSettings, defina el número de retainedBackups en 8.

Para obtener más información sobre la PITR, consulta Recuperación a un momento dado (PITR).

Modelo de recuperación de bases de datos para PITR

Si habilitas PITR en una instancia, Cloud SQL definirá automáticamente el modelo de recuperación de las bases de datos actuales y posteriores como modelo de recuperación completo.

Para obtener más información sobre los modelos de recuperación de SQL Server, consulta la documentación de Microsoft.

Habilitar PITR

Cuando creas una instancia en la Google Cloud consola, la opción Copias de seguridad automáticas se habilita automáticamente.

El siguiente procedimiento habilita PITR en una instancia principal ya creada.

Consola

  1. En la Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Icono de acciones adicionales. de la instancia en la que quieras habilitar PITR y haz clic en Editar.
  3. En Personalizar tu instancia, amplía la sección Protección de datos.
  4. Selecciona la casilla Habilitar recuperación a un momento dado.
  5. En el campo Días de registros, introduce el número de días que quieres conservar los registros (de 1 a 35 en la edición Enterprise Plus de Cloud SQL o de 1 a 7 en la edición Enterprise de Cloud SQL).
  6. Haz clic en Guardar.

gcloud

  1. Muestra la vista general de la instancia:
    gcloud sql instances describe INSTANCE_NAME
  2. Si ves enabled: false en la sección backupConfiguration, habilita las copias de seguridad programadas:
    gcloud sql instances patch INSTANCE_NAME \
    --backup-start-time=HH:MM

    Especifica el parámetro backup-start-time con el formato de 24 horas en la zona horaria UTC±00.

  3. Habilita PITR:
    gcloud sql instances patch INSTANCE_NAME \
    --enable-point-in-time-recovery

    Si habilitas PITR en una instancia principal, también puedes configurar el número de días durante los que quieres conservar los registros de transacciones añadiendo el siguiente parámetro:

    --retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS
  4. Confirma tu cambio:
    gcloud sql instances describe INSTANCE_NAME

    En la sección backupConfiguration, verás pointInTimeRecoveryEnabled: true si el cambio se ha realizado correctamente.

Terraform

Para habilitar PITR, usa un recurso de Terraform.

Habilitar PITR en la edición Cloud SQL Enterprise Plus

Usa el siguiente código de ejemplo de Terraform para crear una instancia de la edición Enterprise Plus de Cloud SQL con PITR habilitado:
# Creates a SQL SERVER Enterprise Plus edition instance. Unless specified otherwise, PITR is enabled by default.
resource "google_sql_database_instance" "enterprise_plus" {
  name             = "sqlserver-enterprise-plus-instance-pitr"
  region           = "asia-northeast1"
  database_version = "SQLSERVER_2019_ENTERPRISE"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    backup_configuration {
      enabled = true
    }
  }
  # Setting the `deletion_protection` flag to true ensures you can't accidentally delete the instance
  # using Terraform. Setting the `deletion_protection_enabled` flag to true protects the instance at the
  # Google Cloud level.
  deletion_protection = false
}

Habilitar PITR en Cloud SQL Enterprise

Usa el siguiente código de Terraform de ejemplo para crear una instancia de Cloud SQL Enterprise Edition con PITR habilitado:
# Creates a SQL SERVER Enterprise edition instance with PITR enabled. Unless specified otherwise,
# PITR is disabled by default.
resource "google_sql_database_instance" "enterprise" {
  name             = "sqlserver-enterprise-instance-pitr"
  region           = "asia-northeast1"
  database_version = "SQLSERVER_2019_ENTERPRISE"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier    = "db-custom-4-26624"
    edition = "ENTERPRISE"
    backup_configuration {
      enabled                        = true
      point_in_time_recovery_enabled = true
    }
  }
  # Setting the `deletion_protection` flag to true ensures you can't accidentally delete the instance
  # using Terraform. Setting the `deletion_protection_enabled` flag to true protects the instance at the
  # Google Cloud level.
  deletion_protection = false
}

Aplica los cambios

Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.

Preparar el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.

Eliminar los cambios

Para eliminar los cambios, sigue estos pasos:

  1. Para inhabilitar la protección contra la eliminación, en el archivo de configuración de Terraform, asigna el valor false al argumento deletion_protection.
    deletion_protection =  "false"
  2. Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply
  1. Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce yes en la petición:

    terraform destroy

REST v1

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia
  • INSTANCE_NAME: el nombre de la instancia principal o de réplica de lectura que estás configurando para la alta disponibilidad
  • START_TIME: la hora (en horas y minutos)

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia
  • INSTANCE_NAME: el nombre de la instancia principal o de réplica de lectura que estás configurando para la alta disponibilidad
  • START_TIME: la hora (en horas y minutos)

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Obtener el tiempo de recuperación más reciente

En una instancia disponible, puedes realizar PITR hasta la hora más reciente. Si la instancia no está disponible y los registros de la instancia se almacenan en Cloud Storage, puedes obtener la hora de recuperación más reciente y realizar la restauración a un momento dado hasta esa hora. En ambos casos, puede restaurar la instancia en otra zona principal o secundaria proporcionando valores para las zonas preferidas.

gcloud

Obtén la hora más reciente a la que puedes recuperar una instancia de Cloud SQL que no está disponible.

Sustituye INSTANCE_NAME por el nombre de la instancia que estás consultando.

gcloud sql instances get-latest-recovery-time INSTANCE_NAME

REST v1

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: el nombre de la instancia de la que quieres consultar la hora de recuperación más reciente

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "kind": "sql#getLatestRecoveryTime",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

REST v1beta4

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: el nombre de la instancia de la que quieres consultar la hora de recuperación más reciente

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "kind": "sql#getLatestRecoveryTime",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Realizar una restauración a un momento dado

Consola

  1. En la Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Icono de acciones adicionales. de la instancia que quieras recuperar y haz clic en Crear clon.
  3. Opcionalmente, en la página Crear un clon, actualiza el ID del nuevo clon.
  4. Selecciona Clonar desde un momento anterior.
  5. Introduce una hora de PITR.
  6. Selecciona Todas las bases de datos o especifica el nombre de una base de datos.
    Si especifica un nombre de base de datos, solo se puede seleccionar uno. De forma predeterminada, PITR se aplica a todas las bases de datos.
  7. Haz clic en Crear clon.

gcloud

Crea un clon mediante PITR.

Haz los cambios siguientes:

  • SOURCE_INSTANCE_NAME: nombre de la instancia desde la que vas a restaurar.
  • NEW_INSTANCE_NAME: nombre del clon.
  • TIMESTAMP: zona horaria UTC de la instancia de origen en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'

REST v1

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • target-instance-id: ID de la instancia de destino
  • source-instance-id: ID de la instancia de origen.
  • restore-timestamp El momento dado hasta el que se debe restaurar

En la solicitud JSON, puedes especificar de forma opcional un nombre de base de datos concreto de la siguiente manera: "databaseNames": "my-database"

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • target-instance-id: ID de la instancia de destino
  • source-instance-id: ID de la instancia de origen.
  • restore-timestamp El momento dado hasta el que se debe restaurar

En la solicitud JSON, puedes especificar de forma opcional un nombre de base de datos concreto de la siguiente manera: "databaseNames": "my-database"

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Cuerpo JSON de la solicitud:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Realizar una PITR con el almacén de copias de seguridad

Si tu instancia de Cloud SQL tiene habilitadas las copias de seguridad mejoradas, puedes realizar una recuperación a un momento dado de tu instancia mediante el archivo de copias de seguridad.

Consola

  1. En la Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Icono de acciones adicionales. de la instancia que quieras recuperar y haz clic en Crear clon.

  3. Selecciona Clonar desde un momento anterior.

  4. Introduce una hora de PITR.

  5. Haz clic en Crear clon.

gcloud

Para realizar una recuperación a un momento dado en una instancia desde el almacén de copias de seguridad, tendrás que buscar el data-source de la copia de seguridad más cercana a la hora en la que quieras realizar la recuperación. Para encontrar la copia de seguridad, consulta Lista de todas las copias de seguridad del almacén de copias de seguridad de una instancia. Una vez que hayas identificado la copia de seguridad, ejecuta el siguiente comando para realizar la restauración a un momento dado:

gcloud sql instances point-in-time-restore DATA_SOURCE
PITR_TIMESTAMP
--project=TARGET_PROJECT

Haz los cambios siguientes:

  • DATA_SOURCE: ruta del data-source de la copia de seguridad más cercana a la marca de tiempo de PITR que quieras recuperar.
  • PITR_TIMESTAMP: marca de tiempo UTC del registro PITR de la instancia de origen a la que quieres restaurar tu instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
  • TARGET_PROJECT: el ID de proyecto de tu instancia de Cloud SQL.

REST v1

REST v1beta4

Desactivar PITR

Consola

  1. En la Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Icono de acciones adicionales. de la instancia que quieras desactivar y selecciona Editar.
  3. En Personalizar tu instancia, amplía la sección Protección de datos.
  4. Desmarca Habilitar recuperación a un momento dado.
  5. Haz clic en Guardar.

gcloud

  1. Desactiva la recuperación a un momento dado:
    gcloud sql instances patch INSTANCE_NAME \
    --no-enable-point-in-time-recovery
  2. Confirma tu cambio:
    gcloud sql instances describe INSTANCE_NAME

    En la sección backupConfiguration, verás pointInTimeRecoveryEnabled: false si el cambio se ha realizado correctamente.

REST v1

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Comprobar la ubicación de almacenamiento de los registros de transacciones usados para PITR

Puedes comprobar dónde almacena tu instancia de Cloud SQL los registros de transacciones que se usan para la recuperación a un momento dado.

gcloud

Para determinar si tu instancia almacena registros de PITR en el disco o en Cloud Storage, usa el siguiente comando:

   gcloud sql instances describe INSTANCE_NAME
   

Sustituye INSTANCE_NAME por el nombre de la instancia.

Si hay varias instancias en el mismo proyecto, también puedes consultar la ubicación de almacenamiento de los registros de transacciones. Para determinar la ubicación de varias instancias, usa el siguiente comando:

   gcloud sql instances list --show-transactional-log-storage-state
   

Respuesta de ejemplo:

NAME  DATABASE_VERSION         LOCATION       TRANSACTIONAL_LOG_STORAGE_STATE
my_01 SQLSERVER_2019_STANDARD  us-central-1   DISK
my_02 SQLSERVER_2019_STANDARD  us-central-1   CLOUD_STORAGE
...
   

En el resultado del comando, el campo transactionalLogStorageState o la columna TRANSACTIONAL_LOG_STORAGE_STATE proporcionan información sobre dónde se almacenan los registros de transacciones de PITR de la instancia. Los posibles estados de almacenamiento del registro de transacciones son los siguientes:

  • DISK: la instancia almacena los registros de transacciones que se usan para la recuperación a un momento dado en el disco.
  • CLOUD_STORAGE: la instancia almacena los registros de transacciones que se usan para PITR en Cloud Storage.

Definir la retención de registros de transacciones

Para definir el número de días que se conservarán los registros de transacciones, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Abre el menú de más acciones Icono de acciones adicionales. de la instancia en la que quieras activar el registro de transacciones y selecciona Editar.
  3. En Personalizar tu instancia, amplía la sección Protección de datos.
  4. En la sección Habilitar recuperación a un momento dado, despliega Opciones avanzadas.
  5. Introduce el número de días que quieres conservar los registros (entre 1 y 35 para la edición Enterprise Plus de Cloud SQL, o entre 1 y 7 para la edición Enterprise de Cloud SQL).
  6. Haz clic en Guardar.

gcloud

Edita la instancia para definir el número de días que se conservarán los registros de transacciones.

Haz los cambios siguientes:

  • INSTANCE_NAME: el nombre de la instancia en la que quieras definir el registro de transacciones.
  • DAYS_TO_RETAIN: número de días que se conservarán los registros de transacciones. En la edición Enterprise Plus de Cloud SQL, el intervalo válido es de entre 1 y 35 días, con un valor predeterminado de 14 días. En la edición Enterprise de Cloud SQL, el intervalo válido es de 1 a 7 días, con un valor predeterminado de 7 días.

    Si no especifica ningún valor, Cloud SQL usará el valor predeterminado. Esto solo es válido cuando se habilita la recuperación a un momento dado. Para conservar los registros de transacciones durante más días, se necesita un mayor tamaño de almacenamiento.

  gcloud sql instances patch INSTANCE_NAME 
--retained-transaction-log-days=DAYS_TO_RETAIN

REST v1

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_ID: el ID de instancia.
  • DAYS_TO_RETAIN: número de días que se conservarán los registros de transacciones. En la edición Enterprise Plus de Cloud SQL, el intervalo válido es de entre 1 y 35 días, con un valor predeterminado de 14 días. En la edición Enterprise de Cloud SQL, el intervalo válido es de 1 a 7 días, con un valor predeterminado de 7 días.

    Si no se especifica ningún valor, se usa el valor predeterminado. Esto solo es válido cuando se habilita la recuperación a un momento dado. Para conservar los registros de transacciones durante más días, se necesita más espacio de almacenamiento.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "transactionLogRetentionDays": "DAYS_TO_RETAIN"
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_ID: el ID de instancia.
  • DAYS_TO_RETAIN: número de días que se conservarán los registros de transacciones. En la edición Enterprise Plus de Cloud SQL, el intervalo válido es de entre 1 y 35 días, con un valor predeterminado de 14 días. En la edición Enterprise de Cloud SQL, el intervalo válido es de 1 a 7 días, con un valor predeterminado de 7 días.

    Si no se especifica ningún valor, se usa el valor predeterminado. Esto solo es válido cuando se habilita la recuperación a un momento dado. Para conservar los registros de transacciones durante más días, se necesita más espacio de almacenamiento.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "backupConfiguration":
    {
      "transactionLogRetentionDays": "DAYS_TO_RETAIN"
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Solucionar problemas

Problema Solución de problemas

argument --point-in-time: Failed to parse date/time:
Unknown string format: 2021-0928T30:54:03.094;
received: 2021-0928T30:54:03.094Z

O

Invalid value at 'body.clone_context.point_in_time'
(type.googleapis.com/google.protobuf.Timestamp), Field 'pointInTime',
Invalid time format: Failed to parse input,

La marca de tiempo que has proporcionado no es válida.

HTTP Error 400: Successful backup required for carrying out the operation was not found.

O

Successful backup required for carrying out the operation was not found. or Time where no backups can be found.

La marca de tiempo que has proporcionado corresponde a un momento en el que no se han podido encontrar copias de seguridad ni coordenadas de binlog.

Siguientes pasos