CREATE SNAPSHOT¶
创建或替换来自指定服务实例的命名卷的 快照。快照在当前架构中创建。
语法¶
CREATE [ OR REPLACE ] SNAPSHOT [ IF NOT EXISTS ] <name>
FROM SERVICE <service_name>
VOLUME "<volume_name>"
INSTANCE <instance_id>
[ COMMENT = '<string_literal>']
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
必填参数¶
name
指定快照的标识符(即名称)的字符串;对于在其中创建快照的架构必须是唯一的。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多信息,请参阅 标识符要求。
FROM SERVICE service_name
指定服务名称。
VOLUME "volume_name"
指定与服务关联的卷的名称。只能获取块存储卷的快照,而不能获取本地卷、内存卷或暂存区卷的快照。
卷名称区分大小写。因此,应始终使用双引号来匹配服务规范中的相应名称。
INSTANCE instance_id
服务实例的索引。服务实例索引从 0 开始,范围是
[0, ..., MAX_INSTANCES - 1]
。您可以调用 SYSTEM$GET_SERVICE_STATUS 函数来获取相关信息。
可选参数¶
COMMENT = 'string_literal'
指定服务的注释。
默认:无值
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
CREATE SNAPSHOT |
架构 |
|
OPERATE |
服务 |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
示例¶
如果创建的服务有两个实例(容器的数量无关紧要)和一个名为“data”的卷,则使用以下 SQL 创建与第一个实例相关联的卷的快照:
CREATE SNAPSHOT snapshot_0
FROM SERVICE example_service
VOLUME "data"
INSTANCE 0
COMMENT='new snapshot';
要创建与第二个服务实例相关联的卷的快照,请在前面的 SQL 中指定 INSTANCE 1
。