CREATE SNAPSHOT

创建或替换来自指定服务实例的命名卷的 快照。快照在当前架构中创建。

另请参阅:

ALTER SNAPSHOTDESCRIBE SNAPSHOTDROP SNAPSHOTSHOW SNAPSHOTS

语法

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>' [ , ... ] ) ]
Copy

必填参数

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'

指定服务的注释。

默认:无值

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

CREATE SNAPSHOT

架构

OPERATE

服务

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

  • CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。

示例

如果创建的服务有两个实例(容器的数量无关紧要)和一个名为“data”的卷,则使用以下 SQL 创建与第一个实例相关联的卷的快照:

CREATE SNAPSHOT snapshot_0
  FROM SERVICE example_service
  VOLUME "data"
  INSTANCE 0
  COMMENT='new snapshot';
Copy

要创建与第二个服务实例相关联的卷的快照,请在前面的 SQL 中指定 INSTANCE 1

语言: 中文