恢复 Spanner Omni 备份

您可以将 Spanner Omni 数据库的备份恢复到新数据库中。恢复的数据库包含备份 versionTime 时原始数据库中的所有数据和架构信息,包括您使用 ALTER DATABASE SET OPTIONS 命令设置的所有数据库选项。

恢复的数据库中不包含以下项:

  • IAM 权限。您必须在恢复完成后应用适当的 IAM 权限。

  • 任何变更数据流的内部数据。

  • 由行删除政策定义的存留时间 (TTL)。您必须在恢复完成后重新配置这些政策。

  • 预拆分数据库时创建的分块点。

Spanner Omni 的预览版不支持备份或恢复。如需获取可让您创建备份和从 备份恢复的功能,请与 Google 联系,申请提前访问完整版 Spanner Omni。

恢复的工作原理

恢复 Spanner Omni 数据库时,您必须指定来源备份和新的目标数据库。您无法恢复到现有数据库。

恢复过程提供高可用性。只有当目标实例中区域和可用区的多数仲裁处于可用状态时,您才能恢复数据库。

恢复状态

恢复的数据库会经历三个状态,并通过两个长时间运行的操作跟踪。

状态 说明
CREATING Spanner Omni 通过创建新数据库并装载备份中的文件来开始恢复。在此状态期间,恢复的数据库尚未可供使用。完成后,数据库即可供使用。

注意 :Spanner Omni 不允许在恢复备份时删除备份。您可以在恢复完成后删除备份,并且数据库会进入 READY 状态。
READY_OPTIMIZING 装载备份后,Spanner Omni 会开始将数据复制到新数据库,同时优化其存储大小。在此过程中,您的数据库已准备就绪,可供使用。

注意事项
  • 读取延迟时间可能会略高。
  • 存储指标显示新数据库的大小,而不是备份的大小。在传输期间,结果可能无法反映所有数据的总大小。
  • 在此状态下,您无法删除已装载的备份。
READY 复制和优化操作完成后,数据库将转换为 READY 状态。数据库已完全恢复,不再需要备份。

如需在 CREATING 状态期间跟踪进度,您可以查询长时间运行的恢复操作,该操作会返回 RestoreDatabaseMetadata 对象。在 READY_OPTIMIZING 状态期间,该操作会返回 OptimizeRestoredDatabaseMetadata 对象。

访问权限控制 (IAM)

以下角色提供 Spanner Omni 恢复操作所需的权限:

IAM 角色 权限
roles/spanner.restoreAdmin 从备份恢复的权限。
roles/spanner.admin 对恢复操作和所有其他 Spanner Omni 资源的完整访问权限。
owner 对恢复操作的完整访问权限。
editor 对恢复操作的完整访问权限。
viewer 查看恢复操作的权限。无法创建、更新、删除或复制备份。

从备份中恢复数据库

如需恢复数据库,请使用 spanner databases restore 命令:

spanner databases restore \
  --destination-database=RESTORE_DATABASE_NAME \
  --source-backup=BACKUP_NAME \
  --async