恢复已删除的数据集
本文档介绍了如何在 BigQuery 中恢复(或取消删除)已删除的数据集。
您可以恢复删除的数据集,以将其恢复到删除时的状态。您只能恢复处于时间旅行窗口内的数据集。这种恢复包括数据集中包含的所有对象、数据集属性和安全设置。对于未恢复的资源,请参阅限制。
如需了解如何恢复已删除的表或快照,请参阅以下资源:
限制
以下是与恢复数据集相关的限制列表:
- 恢复的数据集可能会引用不再存在的安全主体。
- 执行此操作时,系统不会恢复对关联数据集中已删除数据集的引用。订阅方必须重新订阅才能手动恢复链接。
- 执行此操作不会恢复商家标记。
- 您必须手动刷新具体化视图并向已获授权的视图、已获授权的数据集和已获授权的例程重新授权。
启用了 CDC 的 BigQuery 表在作为未删除的数据集的一部分恢复后,不会恢复后台应用作业。
删除已获授权的资源(视图、数据集和例程)后,最长可能需要 24 小时才能删除授权。因此,如果您在删除后 24 小时内对包含已获授权的资源的数据集执行恢复操作,则可能不需要重新授权。最佳实践是始终在恢复资源后验证授权。
准备工作
确保您拥有恢复已删除数据集的必要 Identity and Access Management (IAM) 权限。
所需的角色
如需获得恢复已删除的数据集所需的权限,请让您的管理员为您授予项目的 BigQuery User (roles/bigquery.user
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含恢复已删除的数据集所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
恢复已删除的数据集需要以下权限:
-
针对项目的
bigquery.datasets.create
权限 -
针对数据集的
bigquery.datasets.get
权限
恢复数据集
如需恢复数据集,请选择以下选项之一:
SQL
使用 UNDROP SCHEMA
数据定义语言 (DDL) 语句:
在 Google Cloud 控制台中,前往 BigQuery 页面。
在查询编辑器中,输入以下语句:
UNDROP SCHEMA
DATASET_ID
;将
DATASET_ID
替换为您要执行恢复删除操作的数据集。点击
运行。
如需详细了解如何运行查询,请参阅运行交互式查询。
API
恢复数据集时,可能会出现以下错误:
ALREADY_EXISTS
:您尝试在其中执行恢复操作的区域中已存在同名的数据集。您无法使用恢复删除来覆盖或合并数据集。NOT_FOUND
:您尝试恢复的数据集已超过其时间旅行窗口、从未存在,或者您未指定数据集的正确位置。ACCESS_DENIED
:您没有对此数据集执行恢复删除操作所需的权限。后续步骤
如需了解如何查询某个时间点的数据,请参阅访问历史数据。
如需了解数据保留,请参阅使用时间旅行和故障安全功能保留数据。
如需了解如何删除数据集,请参阅管理数据集。