A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/sql/docs/sqlserver/backup-recovery/final-backup below:

Manage final backups | Cloud SQL for SQL Server

Skip to main content Manage final backups

Stay organized with collections Save and categorize content based on your preferences.

This page describes how to manage final backups for your Cloud SQL instance. Before you delete an instance, you can take a final backup of the instance. You can then restore the final backup to a new or existing instance. This way, you can recreate any instances that you delete accidentally or use these instances for any disaster recovery scenarios.

Unlike automated and on-demand backups, which are associated with an instance, you can take a final backup before you delete the instance. Cloud SQL stores this backup beyond the lifetime of the instance.

You can use existing gcloud CLI commands to list, describe, update, and delete a final backup. If you're using custom roles, then add the following permissions to the roles:

For more information about these permissions, see Required permissions. Also, for more information about how backups work, see About Cloud SQL backups.

Required permissions Note: You create a final backup before you delete an instance. For more information, see Delete instances. Google Cloud console

To manage final backups in a Google Cloud project, you need the following permissions:

Task Required permissions List final backups cloudsql.backupRuns.list Describe a final backup cloudsql.backupRuns.get Update a final backup cloudsql.backupRuns.update Delete a final backup cloudsql.backupRuns.delete gcloud CLI

To manage final backups in a Google Cloud project, you need the following permissions:

Action Command Required permissions List final backups gcloud sql backups list cloudsql.backupRuns.list Describe a final backup gcloud sql backups describe cloudsql.backupRuns.get Update a final backup gcloud sql backups patch cloudsql.backupRuns.update Delete a final backup gcloud sql backups delete cloudsql.backupRuns.delete REST

To manage final backups in a Google Cloud project, you need the following permissions:

Action Method Required permissions List final backups Backups.ListBackups cloudsql.backupRuns.list Describe a final backup Backups.GetBackup cloudsql.backupRuns.get Update a final backup Backups.UpdateBackup cloudsql.backupRuns.update Delete a final backup Backups.DeleteBackup cloudsql.backupRuns.delete View a list of final backups

You can view a list of final backups and details about a backup by using the Google Cloud console, gcloud CLI, or the Cloud SQL API.

The Google Cloud console doesn't show skipped or failed backups in the backup history. To see these types of backups, use gcloud or the Cloud SQL API.

Console
  1. In the Google Cloud console, go to the Cloud SQL Backups page.

    Go to Cloud SQL Backups

    This page lists all backups, including final backups, that are associated with a Google Cloud project.

  2. To view details about a final backup, click the backup. A Final backup dialog appears. This dialog displays the following information:

gcloud
  1. To get a list of all final backups that are associated with a Google Cloud project, use the gcloud sql backups list command:

    gcloud sql backups list \
    --filter="type=FINAL"

    Note: By using this command, you can retrieve information about the backups, including their IDs. You need a backup ID to view details about a final backup.

    Also, you can filter and control the results of running this command by using standard list parameters. For a complete list, see the gcloud sql backups list command reference page.

  2. To view details about a final backup, use the gcloud sql backups describe command:

    gcloud sql backups describe \
    BACKUP_NAME

    You obtain the BACKUP_NAME from the output of running the gcloud sql backups list command. The BACKUP_NAME has the following format: projects/PROJECT_ID/backups/BACKUP_ID.

REST v1 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
View details about a final backup

Use this example to view the details about a final backup. For a complete list of parameters for this call, see the Backups.GetBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
    }
REST v1beta4 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
View details about a final backup

Use this example to view the details about a final backup. For a complete list of parameters for this call, see the Backups.GetBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
    }
Update a final backup

You can update how long Cloud SQL retains a final backup for an instance and the description for the backup by using the Google Cloud console, gcloud CLI, or the Cloud SQL API.

Console
  1. In the Google Cloud console, go to the Cloud SQL Backups page.

    Go to Cloud SQL Backups

    This page lists all backups, including final backups, that are associated with a Google Cloud project.

  2. To update a final backup, click the backup. A Final backup dialog appears.
  3. To update how long Cloud SQL retains the final backup, complete the following actions:
    1. Click the Edit retention icon next to the Backup retained until field.
    2. Click the Select date icon next to the Retain backup until field.
    3. In the calendar, select the new date that indicates how long Cloud SQL retains the final backup.
    4. Click Update. You're returned to the Cloud SQL Backups page.
  4. To update the description of the final backup, complete the following actions:
    1. Click the final backup.
    2. Click the Edit description icon next to the Description field.
    3. In the Describe this backup field, enter the updated description for the final backup.
    4. Click Update. You're returned to the Cloud SQL Backups page.
gcloud
  1. To get a list of all final backups that are associated with a Google Cloud project, use the gcloud sql backups list command:

    gcloud sql backups list \
    --filter="type=FINAL"

    Note: By using this command, you can retrieve information about the final backups, including their IDs. You need a backup ID to update a final backup.

    Also, you can filter and control the results of running this command by using standard list parameters. For a complete list, see the gcloud sql backups list command reference page.

  2. To update the description and retention period of a final backup, use the gcloud sql backups patch command:

    gcloud sql backups patch \
    BACKUP_NAME  \
    --description=DESCRIPTION /
    --expiry-time=DATE-AND-TIME-STAMP | --ttl-days=NUMBER-OF-DAYS

    You obtain the BACKUP_NAME from the output of running the gcloud sql backups list command. The BACKUP_NAME has the following format: projects/PROJECT_ID/backups/BACKUP_ID.

    For the --expiry-time and --ttl-days flags, use the following guidelines:

    Use either the --expiry-time or the --ttl-days flag, not both flags.
REST v1 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
Update the retention period

You can update the retention period of a final backup in one of the following ways:

Update a final backup by either modifying the retention days or by providing a updated expiration time. Don't use both ways. Update the retention days

Use this example to update the number of days that Cloud SQL retains the final backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

Request JSON body:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=ttl_days"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=ttl_days" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
Update the expiration time

Use this example to provide an updated date-and-time stamp for when Cloud SQL deletes the backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

Request JSON body:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=expiry_time"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=expiry_time" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
Update the description

Use this example to update the description of the final backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

Request JSON body:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=description"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=description" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
REST v1beta4 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
Update the retention period

You can update the retention period of a final backup in one of the following ways:

Update a final backup by either modifying the retention days or by providing a updated expiration time. Don't use both ways. Update the retention days

Use this example to update the number of days that Cloud SQL retains the final backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

Request JSON body:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=ttl_days"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=ttl_days" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
Update the expiration time

Use this example to provide an updated date-and-time stamp for when Cloud SQL deletes the backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

Request JSON body:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=expiry_time"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=expiry_time" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
Update the description

Use this example to update the description of the final backup. For a complete list of parameters for this call, see the Backups.UpdateBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

Request JSON body:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

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/backups/BACKUP_ID?update_mask=description"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Save the request body in a file named request.json, and execute the following command:

$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/backups/BACKUP_ID?update_mask=description" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID",
      "targetId": "BACKUP_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
}
Delete a final backup

You can delete a final backup by using the Google Cloud console, gcloud CLI, or the Cloud SQL API.

Deleting a backup might not free up as much space as the size of the backup. This is because backups are incremental, so deleting an older backup might transfer some of its contents to a more recent backup to preserve the integrity of the newer backup.

Console
  1. In the Google Cloud console, go to the Cloud SQL Backups page.

    Go to Cloud SQL Backups

    This page lists all backups, including final backups, that are associated with a Google Cloud project.

  2. For the final backup that you want to delete, click more actions , and then select Delete.
  3. In the Delete final backup? window, enter the name of the instance that you used to create the final backup, and then click Delete.
gcloud
  1. To get a list of all final backups that are associated with a Google Cloud project, use the gcloud sql backups list command:

    gcloud sql backups list \
    --filter="type=FINAL"

    Note: By using this command, you can retrieve information about the backups, including their IDs. You need a backup ID to delete a final backup.

    Also, you can filter and control the results of running this command by using standard list parameters. For a complete list, see the gcloud sql backups list command reference page.

  2. To delete a final backup, use the gcloud sql backups delete command:

    gcloud sql backups delete \
    BACKUP_NAME

    You obtain the BACKUP_NAME from the output of running the gcloud sql backups list command. The BACKUP_NAME has the following format: projects/PROJECT_ID/backups/BACKUP_ID.

REST v1 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
Delete a final backup

Use this example to delete a final backup. For a complete list of parameters for this call, see the Backups.DeleteBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-21T22:43:37.981Z",
  "operationType": "DELETE_BACKUP",
  "name": "OPERATION_ID",
  "targetId": "BACKUP_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
REST v1beta4 Get a list of final backups

Use this example to get a list of all final backups that are associated with a Google Cloud project. For a complete list of parameters for this call, see the Backups.ListBackups page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
      "name": "projects/PROJECT_ID/backups/BACKUP_ID",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns/BACKUP_RUN_ID",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
Delete a final backup

Use this example to delete a final backup. For a complete list of parameters for this call, see the Backups.DeleteBackup page.

Before using any of the request data, make the following replacements:

HTTP method and URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login , or by using Cloud Shell, which automatically logs you into the gcloud CLI . You can check the currently active account by running gcloud auth list.

Execute the following command:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID"
PowerShell (Windows) Note: The following command assumes that you have logged in to the gcloud CLI with your user account by running gcloud init or gcloud auth login . You can check the currently active account by running gcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `


-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

Response
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-21T22:43:37.981Z",
  "operationType": "DELETE_BACKUP",
  "name": "OPERATION_ID",
  "targetId": "BACKUP_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
What's next

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-02 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-02 UTC."],[],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4