RESTORE
StarRocks 支持备份及恢复以下对象:
- 内部数据库、表(所有类型和分区策略)和分区
- External Catalog 的元数据(自 v3.4.0 开始支持)
- 同步物化视图和异步物化视图
- 逻辑视图(自 v3.4.0 开始支持)
- UDF(自 v3.4.0 开始支持)
提示
有关备份和恢复的概述,请参阅 备份和恢复指南 中。
数据恢复为异步操作。您可以通过 SHOW RESTORE 语句查看恢复作业状态,或通过 CANCEL RESTORE 语句取消恢复作业。
注意
- StarRocks 存算分离集群不支持数据备份和恢复。
- 单一数据库内,仅可同时执行一个备份或恢复作业,否则系统报错。
权限要求
3.0 之前的版本中,拥有 admin_priv 权限才可执行此操作。3.0 及之后的版本中,如需恢复整个数据库,需要拥有 System 级的 REPOSITORY 权限,以及创建数据库、创建表、导入数据的权限;如需恢复特定表,则需要拥有 System 级的 REPOSITORY 权限,以及对特定表的导入权限(INSERT)。例如:
-
授予角色恢复指定表中数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE recover_tbl;
GRANT INSERT ON TABLE <table_name> TO ROLE recover_tbl; -
授予角色恢复指定数据库下所有数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE recover_db;
GRANT INSERT ON ALL TABLES ALL DATABASES TO ROLE recover_db; -
授予角色恢复 default_catalog 下全部数据库中数据的权限。
GRANT REPOSITORY ON SYSTEM TO ROLE recover_db;
GRANT CREATE DATABASE ON CATALOG default_catalog TO ROLE recover_db;
语法(兼容先前版本)
RESTORE SNAPSHOT <db_name>.<snapshot_name>
FROM <repository_name>
[ ON ( <table_name> [ PARTITION ( <partition_name> [, ...] ) ]
[ AS <table_alias>] [, ...] ) ]
PROPERTIES ("key"="value", ...)