ALTER ACCOUNT

修改账户。ALTER ACCOUNT 命令有两个用途:

  • 允许账户管理员(即具有 ACCOUNTADMIN 角色的用户)修改 参数 以及账户级别的其他设置。例如,账户管理员可以为账户设置资源监视器或启用安全功能。对于这些操作,账户管理员从正在修改的账户执行 ALTER ACCOUNT。

  • 允许组织管理员(即具有 ORGADMIN 角色的用户)修改账户的核心特征。例如,组织管理员可以重命名账户。对于这些操作,组织管理员从与正在修改的账户不同的账户执行 ALTER ACCOUNT。

备注

ALTER ACCOUNT 主要由账户管理员和组织管理员执行,具有 SECURITYADMIN 角色的用户可以使用它来为账户设置网络策略。

语法

ALTER ACCOUNT 的语法因修改 当前账户 还是 其他账户 而异。

更改当前账户

ALTER ACCOUNT SET { [ accountParams ] | [ objectParams ] | [ sessionParams ] }

ALTER ACCOUNT UNSET <param_name> [ , ... ]

ALTER ACCOUNT SET RESOURCE_MONITOR = <monitor_name>

ALTER ACCOUNT SET { AUTHENTICATION | PASSWORD | SESSION } POLICY <policy_name>

ALTER ACCOUNT UNSET { AUTHENTICATION | PASSWORD | SESSION } POLICY

ALTER ACCOUNT SET PACKAGES POLICY <policy_name> [ FORCE ]

ALTER ACCOUNT UNSET { PACKAGES | PASSWORD | SESSION } POLICY

ALTER ACCOUNT SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER ACCOUNT UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

其中:

accountParams ::=
    ALLOW_ID_TOKEN = TRUE | FALSE
    CLIENT_ENCRYPTION_KEY_SIZE = <integer>
    ENABLE_INTERNAL_STAGES_PRIVATELINK = TRUE | FALSE
    ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES = TRUE | FALSE
    EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = TRUE | FALSE
    INITIAL_REPLICATION_SIZE_LIMIT_IN_TB = <num>
    NETWORK_POLICY = <string>
    OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = TRUE | FALSE
    PERIODIC_DATA_REKEYING = TRUE | FALSE
    PREVENT_UNLOAD_TO_INLINE_URL = TRUE | FALSE
    PREVENT_UNLOAD_TO_INTERNAL_STAGES = TRUE | FALSE
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = TRUE | FALSE
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = TRUE | FALSE
    SAML_IDENTITY_PROVIDER = <json_object>
    SSO_LOGIN_PAGE = TRUE | FALSE
Copy
objectParams ::=
    DATA_RETENTION_TIME_IN_DAYS = <integer>
    ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = TRUE | FALSE
    MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer>
    EXTERNAL_VOLUME = <external_volume_name>
    CATALOG = <catalog_integration_name>
    DEFAULT_DDL_COLLATION = '<collation_specification>'
    MAX_CONCURRENCY_LEVEL = <num>
    NETWORK_POLICY = <string>
    PIPE_EXECUTION_PAUSED = TRUE | FALSE
    STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
    STATEMENT_TIMEOUT_IN_SECONDS = <num>
Copy
sessionParams ::=
    ABORT_DETACHED_QUERY = TRUE | FALSE
    AUTOCOMMIT = TRUE | FALSE
    BINARY_INPUT_FORMAT = <string>
    BINARY_OUTPUT_FORMAT = <string>
    DATE_INPUT_FORMAT = <string>
    DATE_OUTPUT_FORMAT = <string>
    ERROR_ON_NONDETERMINISTIC_MERGE = TRUE | FALSE
    ERROR_ON_NONDETERMINISTIC_UPDATE = TRUE | FALSE
    JSON_INDENT = <num>
    LOCK_TIMEOUT = <num>
    QUERY_TAG = <string>
    ROWS_PER_RESULTSET = <num>
    S3_STAGE_VPCE_DNS_NAME = <string>
    SEARCH_PATH = <string>
    SIMULATED_DATA_SHARING_CONSUMER = <string>
    STATEMENT_TIMEOUT_IN_SECONDS = <num>
    STRICT_JSON_OUTPUT = TRUE | FALSE
    TIMESTAMP_DAY_IS_ALWAYS_24H = TRUE | FALSE
    TIMESTAMP_INPUT_FORMAT = <string>
    TIMESTAMP_LTZ_OUTPUT_FORMAT = <string>
    TIMESTAMP_NTZ_OUTPUT_FORMAT = <string>
    TIMESTAMP_OUTPUT_FORMAT = <string>
    TIMESTAMP_TYPE_MAPPING = <string>
    TIMESTAMP_TZ_OUTPUT_FORMAT = <string>
    TIMEZONE = <string>
    TIME_INPUT_FORMAT = <string>
    TIME_OUTPUT_FORMAT = <string>
    TRANSACTION_DEFAULT_ISOLATION_LEVEL = <string>
    TWO_DIGIT_CENTURY_START = <num>
    UNSUPPORTED_DDL_ACTION = <string>
    USE_CACHED_RESULT = TRUE | FALSE
    WEEK_OF_YEAR_POLICY = <num>
    WEEK_START = <num>
Copy

备注

为了便于阅读,此处不包括可为账户设置的会话参数的完整列表。有关所有会话参数的完整列表及其说明,以及账户和对象参数,请参阅 参数

更改其他账户

ALTER ACCOUNT <name> SET IS_ORG_ADMIN = { TRUE | FALSE }

ALTER ACCOUNT <name> RENAME TO <new_name> [ SAVE_OLD_URL = { TRUE | FALSE } ]

ALTER ACCOUNT <name> DROP OLD URL

ALTER ACCOUNT <name> DROP OLD ORGANIZATION URL
Copy

更改当前账户的参数

修改当前账户时,请使用以下参数。

有关在账户级别设置参数的更多信息,请参阅 参数管理。有关特定参数的详细信息,请参阅 参数

SET ...

指定要为账户设置的一个(或多个)账户、会话和对象参数(用空格、逗号或新行分隔):

  • 任何其他用户都无法更改的账户参数。

  • 在账户级别设置的会话和对象参数仅用作默认值,可以由其他用户更改。

有关您可以为账户设置的参数的描述,请参阅 参数

UNSET ...

为您的账户指定一个(或多个)要取消设置的账户、会话和对象参数,这会将它们重置为系统默认值。

您可以使用单个 ALTER 语句重置多个属性;但是,每个属性 必须 用逗号分隔。重置属性时,请仅指定名称;指定属性的值将返回错误。

SET RESOURCE_MONITOR resource_monitor_name

特殊参数,用于指定资源监视器的名称,而资源监视器则用于控制账户中创建的所有虚拟仓库。

重要

在账户级别设置资源监视器不会影响 Snowflake 提供的、Snowflake 用于 Snowpipe、自动重聚类或物化视图的任何仓库。这些仓库消耗的 Credit 不会计入账户级资源监视器的信用配额。

有关更多详细信息,请参阅 使用资源监视器

SET { AUTHENTICATION | PASSWORD | SESSION } POLICY policy_name

为账户指定以下策略之一:

SET PACKAGES POLICY policy_name [ FORCE ]

指定要为账户设置的 包策略。如果已经在当前账户上设置了包策略,则可以使用 FORCE 来设置包策略,而不必先取消包政策。

UNSET { PACKAGES | PASSWORD | SESSION } POLICY

取消设置账户的包策略、密码策略或会话策略。

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

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

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

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

更改其他账户的参数

使用当前账户修改其他账户时,请使用以下参数。只有组织管理员(即具有 ORGADMIN 角色的用户)才能使用这些参数。

name

指定正在修改的账户的名称。

SET

指定要为该账户设置的账户属性。

IS_ORG_ADMIN = { TRUE | FALSE }

设置账户属性,用于确定是否在账户中启用 ORGADMIN 角色。只有组织管理员(即具有 ORGADMIN 角色的用户)才能设置该属性。

要为账户启用 ORGADMIN 角色,请指定 SET IS_ORG_ADMIN = TRUE

您无法将当前账户的属性设置为 FALSE。作为解决方法,请在另一账户中启用该角色,然后在执行 ALTER ACCOUNT 命令之前切换到该账户。

默认情况下,最多可以在 8 个账户中启用 ORGADMIN 角色。如果组织需要更多具有 ORGADMIN 角色的账户,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

RENAME TO new_name

将账户名称更改为指定名称。

组织管理员不能在登录账户期间重命名该账户,而应当先登录其他账户,然后再执行 ALTER ACCOUNT 命令。如果您的组织仅由一个账户组成,且该账户需要重命名,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

SAVE_OLD_URL = { TRUE | FALSE }

RENAME TO 配合使用的可选参数可保留在重命名之前用于访问 Snowflake 的 账户 URL。默认情况下,Snowflake 会保存原始 URL,这意味着您可以使用旧 URL 或包含新账户名称的 URL 访问该账户。如果设置为 FALSE,则必须使用新 URL 才能访问该账户。

默认值:

TRUE

DROP OLD URL

移除已重命名的账户中的原始 账户 URL。删除旧 URL 后,必须使用包含新账户名称的 URL 才能访问该账户。

如果一个账户因为被转移到另一个组织、组织已被重命名或属于已合并的组织而拥有旧账户 URL,请改用 ALTER ACCOUNT ...DROP OLD ORGANIZATION URL。

DROP OLD ORGANIZATION URL

发生以下任一情况后,系统会移除账户的原始 账户 URL

  • 账户已移至其他组织。

  • 账户的组织已重命名。

  • 账户是与另一个组织合并的组织的一部分。

如果一个账户因为重命名的是该账户(而不是组织)而拥有旧账户 URL,请改用 ALTER ACCOUNT ...DROP OLD URL 命令。

使用说明

  • 账户参数只能在账户级别设置。

  • 使用此命令设置的会话和对象参数只能用作默认值:

    • 可以在个人用户级别上覆盖的用户参数。

    • 可以在个人用户和会话级别上覆盖的会话参数。

    • 可以在个人对象级别上覆盖的对象参数。

  • 在账户级别设置资源监视器可以控制在账户中创建的所有虚拟仓库的 Credit 使用量,但不会影响 Snowflake 提供的任何仓库的 Credit 使用量。有关更多详细信息,请参阅 使用资源监视器

  • 关于元数据:

    注意

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

示例

将名为 mypolicy 的网络策略与您的账户关联:

ALTER ACCOUNT SET NETWORK_POLICY = mypolicy;
Copy

将网络策略关联从您的账户中移除:

ALTER ACCOUNT UNSET NETWORK_POLICY;
Copy

在账户级别设置包策略。

ALTER ACCOUNT SET PACKAGES POLICY packages_policy_prod_1 FORCE;
Copy

备注

如果已经在当前账户上设置了包策略,则可以使用 FORCE 来设置包策略,而不必先取消包政策。

取消设置包策略。

ALTER ACCOUNT UNSET PACKAGES POLICY;
Copy
语言: 中文