Deleting table snapshots

This document describes how to delete a BigQuery table snapshot by using a DROP SNAPSHOT TABLE Standard SQL statement, a bq command-line tool bq rm command, or a BigQuery API tables.delete call. It also provides information about how to recover a table snapshot that was deleted or that expired in the past seven days. It is intended for users who are familiar with table snapshots.

Permissions and roles

This section describes the Identity and Access Management (IAM) permission that you need to delete a table snapshot, and the predefined IAM roles that grant those permissions.

Permissions

To delete a table snapshot, you need the following permission:

Permission Resource
bigquery.tables.deleteSnapshot The table snapshot

Roles

The minimum predefined role that you need to delete a table snapshot is the following:

Role Resource
bigquery.dataOwner The table snapshot

Delete a table snapshot

Delete a table snapshot as you would delete a standard table. You don't need to delete a table snapshot that has expired.

For example, delete the library_backup.books table snapshot as follows:

SQL

Run the following query:

DROP SNAPSHOT TABLE
  library_backup.books

bq

Enter the following command in the Cloud Shell:

Go to Cloud Shell

bq rm library_backup.books

API

Call the tables.delete method with the following parameters:

Parameter Value
projectId myProject
datasetId library_backup
tableId books

Restore a deleted or expired table snapshot

You can recover a table snapshot that was deleted or that expired in the past seven days in the same way that you recover a standard table. For more information, see Restoring deleted tables.

Table security

To control access to tables in BigQuery, see Introduction to table access controls.

What's next