Cette page explique comment utiliser la récupération à un moment précis (PITR) pour restaurer votre instance Cloud SQL principale.
Pour en savoir plus sur la récupération PITR, consultez la section Récupération PITR .
Stockage des journaux pour la récupération PITR
La récupération PITR utilise des journaux de transactions. Ces journaux sont mis à jour régulièrement et utilisent de l'espace de stockage. Ils sont automatiquement supprimés, ainsi que leurs sauvegardes automatiques associées, au bout de sept jours environ.
Si la taille de vos journaux de transaction pose problème pour votre instance :
Vous pouvez augmenter l'espace de stockage disponible sur celle-ci. Sachez toutefois qu'une augmentation importante de l'espace disque occupé par vos journaux de transaction peut être temporaire.
Nous vous recommandons d'activer l'augmentation automatique de l'espace de stockage pour éviter tout problème de stockage inattendu.
Vous pouvez désactiver la récupération PITR si vous souhaitez supprimer les journaux et récupérer de l'espace de stockage. La réduction du stockage utilisé ne réduit pas la taille du stockage provisionné pour l'instance.
Les journaux sont supprimés définitivement une fois par jour, et non de manière continue. Si vous définissez la durée de conservation des journaux sur une valeur de deux jours, cela signifie qu'au moins deux jours et au plus trois jours de journaux sont conservés. Nous vous recommandons de définir le nombre de sauvegardes à une valeur correspondant à la durée de conservation des journaux plus un, afin de garantir un minimum de jours spécifiés de rétention des journaux.
Modèle de récupération de base de données pour la récupération PITR
Lorsque vous activez la récupération PITR sur une instance, Cloud SQL définit automatiquement le modèle de récupération des bases de données existantes et futures sur le modèle de récupération complet.
Attention : Après avoir activé la récupération PITR sur votre instance, ne changez pas le modèle de récupération de base de données pour le passer en modèle simple. Cela peut rompre la chaîne de sauvegarde des journaux de transactions et vous empêcher de récupérer les données de l'instance au moment où le modèle de récupération a été défini sur simple.
Pour en savoir plus sur les modèles de récupération SQL Server, consultez la documentation Microsoft .
Activer la récupération PITR
Lorsque vous créez une instance dans la console Google Cloud, le paramètre de
Sauvegardes automatiques est automatiquement activé.
La procédure suivante permet d'activer la récupération PITR sur une instance existante .
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à la page Instances Cloud SQL
Ouvrez le menu "Autres actions" au niveau de l'instance pour laquelle vous souhaitez activer la récupération PITR, puis cliquez sur Modifier .
Sous Personnaliser votre instance , développez la section Protection des données .
Cochez la case Activer la récupération à un moment précis .
Développez les options avancées .
Indiquez le nombre de jours de conservation des journaux, compris entre 1 et 7.
Cliquez sur Save (Enregistrer).
gcloud
Affichez la présentation de l'instance :
gcloud sql instances describe INSTANCE_NAME
Si la mention enabled: false
s'affiche dans la section backupConfiguration
, activez les sauvegardes planifiées :
gcloud sql instances patch INSTANCE_NAME \
--backup-start-time=HH:MM
Spécifiez le paramètre backup-start-time
au format 24 heures dans le fuseau horaire UTC ± 00.
Activez la récupération PITR :
gcloud sql instances patch INSTANCE_NAME \
--enable-point-in-time-recovery
Si vous activez la récupération PITR sur une instance principale, vous pouvez également configurer le nombre de jours pendant lesquels vous souhaitez conserver les journaux de transactions en ajoutant le paramètre suivant :
--retained-transaction-log-days=RETAINED_TRANSACTION_LOG_DAYS
Confirmez la modification :
gcloud sql instances describe INSTANCE_NAME
Dans la section backupConfiguration
, vous voyez le message pointInTimeRecoveryEnabled: true
s'afficher si la modification a réussi.
REST v1
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
INSTANCE_NAME : nom de l'instance principale ou de l'instance répliquée avec accès en lecture que vous configurez pour la haute disponibilité.
START_TIME : heure (en heures et en minutes).
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
INSTANCE_NAME : nom de l'instance principale ou de l'instance répliquée avec accès en lecture que vous configurez pour la haute disponibilité.
START_TIME : heure (en heures et en minutes).
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"startTime": "START_TIME ",
"enabled": true,
"pointInTimeRecoveryEnabled": true
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à la page Instances Cloud SQL
Ouvrez le menu "Autres actions" pour l'instance que vous souhaitez récupérer, puis cliquez sur Créer un clone .
Vous pouvez également mettre à jour l'ID du nouveau clone sur la page Créer un clone .
Sélectionnez Cloner à partir d'un moment antérieur .
Saisissez la date et l'heure de la récupération PITR.
Sélectionnez Toutes les bases de données , ou spécifiez un nom de base de données.
Si vous spécifiez un nom de base de données, vous ne pouvez en sélectionner qu'un.
Par défaut, la récupération PITR est destinée à toutes les bases de données.
Cliquez sur Create clone (Créer un clone).
gcloud
Créez un clone à l'aide de la récupération PITR.
Remplacez les éléments suivants :
SOURCE_INSTANCE_NAME : nom de l'instance à partir de laquelle vous effectuez la restauration.
NEW_INSTANCE_NAME : nom du clone.
TIMESTAMP : fuseau horaire UTC de l'instance source au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP '
Remarque : Par défaut, la récupération à un moment précis est destinée à toutes les bases de données. Vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : --database_names 'DATABASE'
REST v1
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
project-id : ID du projet
target-instance-id : ID de l'instance cible
source-instance-id : ID de l'instance source
restore-timestamp : moment jusqu'auquel effectuer la restauration
Dans la requête JSON, vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : "databaseNames": "my-database"
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone"
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/source-instance-id /clone" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
project-id : ID du projet
target-instance-id : ID de l'instance cible
source-instance-id : ID de l'instance source
restore-timestamp : moment jusqu'auquel effectuer la restauration
Dans la requête JSON, vous pouvez éventuellement spécifier un nom de base de données spécifique, comme suit : "databaseNames": "my-database"
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone
Corps JSON de la requête :
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id ",
"pointInTime": "restore-timestamp "
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone"
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/source-instance-id /clone" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Désactiver la récupération PITR
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à la page Instances Cloud SQL
Ouvrez le menu "Autres actions" pour l'instance que vous souhaitez désactiver, puis sélectionnez Modifier .
Sous Personnaliser votre instance , développez la section Protection des données .
Désactivez l'option Activer la récupération à un moment précis .
Cliquez sur Enregistrer .
Sur la page Présentation de l'instance, sous Configuration , le paramètre de récupération PITR apparaît comme étant désactivé.
gcloud
Désactivez la récupération à un moment précis :
gcloud sql instances patch INSTANCE_NAME \
--no-enable-point-in-time-recovery
Confirmez la modification :
gcloud sql instances describe INSTANCE_NAME
Dans la section backupConfiguration
, vous voyez le message pointInTimeRecoveryEnabled: false
s'afficher si la modification a réussi.
REST v1
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"pointInTimeRecoveryEnabled": false
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Vérifier l'emplacement de stockage des journaux de transactions utilisés pour la récupération à un moment précis
Vous pouvez vérifier où votre instance Cloud SQL stocke les journaux de transactions utilisés pour la récupération à un moment précis.
gcloud
Pour déterminer si votre instance stocke les journaux pour la récupération PITR sur le disque ou sur Cloud Storage, utilisez la commande suivante:
gcloud sql instances describe INSTANCE_NAME
Remplacez INSTANCE_NAME par le nom de l'instance.
Dans le résultat de la commande, le champ transactionalLogStorageState
fournit des informations sur l'emplacement de stockage des journaux de transactions pour la récupération PITR pour l'instance.
L'emplacement de stockage du journal des transactions renvoyé est DISK
.
Les instances SQL Server ne peuvent stocker les journaux de transactions utilisés pour la récupération PITR que sur le disque.
Définir la durée de conservation des journaux de transaction
Pour définir le nombre de jours de conservation des journaux de transaction, procédez comme suit :
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à la page Instances Cloud SQL
Ouvrez le menu "Autres actions" pour l'instance pour laquelle vous souhaitez définir les journaux de transactions et sélectionnez Modifier .
Sous Personnaliser votre instance , développez la section Protection des données .
Dans la section Activer la récupération à un moment précis , développez Options avancées .
Indiquez le nombre de jours de conservation des journaux, compris entre 1 et 7.
Cliquez sur Save (Enregistrer).
gcloud
Modifiez l'instance pour définir le nombre de jours de conservation des journaux de transaction.
Remplacez les éléments suivants :
INSTANCE-NAME : nom de l'instance sur laquelle vous souhaitez définir les journaux de transactions.
DAYS-TO-RETAIN : nombre de jours de journaux de transactions à conserver. La plage valide est comprise entre 1 et 7. En l'absence de valeur spécifiée, la valeur par défaut est 7. Valable uniquement si la récupération à un moment précis est activée.
Conserver davantage de jours de journaux de transactions nécessite une capacité de stockage plus importante.
gcloud sql instances patch INSTANCE-NAME \
--retained-transaction-log-days=DAYS-TO-RETAIN
REST v1
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
days-to-retain : nombre de jours pendant lesquels les journaux de transactions sont conservés (entre 1 et 7)
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
days-to-retain : nombre de jours pendant lesquels les journaux de transactions sont conservés (entre 1 et 7)
project-id : ID du projet
instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Corps JSON de la requête :
{
"settings":
{
"backupConfiguration":
{
"transactionLogRetentionDays": "days-to-retain "
}
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
Remarque :La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter gcloud auth list
pour vérifier le compte actuellement actif.
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Étapes suivantes