DROP EXTERNAL VOLUME

从账户中移除 外部卷,但保留外部卷的一个版本,以便使用 UNDROP EXTERNAL VOLUME 来恢复。有关更多信息,请参阅 ` 使用说明 `_ (本主题内容)。

另请参阅:

CREATE EXTERNAL VOLUMEALTER EXTERNAL VOLUMESHOW EXTERNAL VOLUMESDESCRIBE EXTERNAL VOLUME

语法

DROP EXTERNAL VOLUME [ IF EXISTS ] <name>
Copy

参数

name

指定要删除的外部卷的标识符。如果标识符包含空格、特殊字符或大小写混合字符,则整个字符串必须放在双引号内(例如,"My object")。放在双引号内的标识符也区分大小写。

访问控制要求

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

权限

对象

备注

OWNERSHIP

外部卷

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

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

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

使用说明

  • 如果一个或多个 Iceberg 表与外部卷关联,您无法删除或替换外部卷。

    要查看依赖于外部卷的表,您可以使用 SHOW ICEBERG TABLES 命令和使用 RESULT_SCANexternal_volume_name 列进行筛选的查询。

    备注

    列标识符 (external_volume_name) 区分大小写。指定与 SHOW ICEBERG TABLES 输出中显示的完全相同的列标识符。

    例如:

    SHOW ICEBERG TABLES;
    
    SELECT * FROM TABLE(
      RESULT_SCAN(
          LAST_QUERY_ID()
        )
      )
      WHERE "external_volume_name" = 'my_external_volume_1';
    
    Copy
  • 删除外部卷不会将其从系统中永久移除。Snowflake 保留了 Time Travel 已删除外部卷的一个版本。您可以使用 UNDROP EXTERNAL VOLUME 命令恢复已删除的外部卷。

  • 已删除的卷清除之后便无法恢复,只能重新创建。

  • 删除外部卷后,创建同名的外部卷会创建外部卷的新版本。您可以通过以下步骤还原先前外部卷的已删除版本:

    1. 重命名外部卷的当前版本。

    2. 使用 UNDROP EXTERNAL VOLUME 命令还原先前的版本。

示例

以下示例删除名为 my_external_volume 的外部卷:

DROP EXTERNAL VOLUME my_external_volume;
Copy
语言: 中文