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> ... ]
其中:
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 | FALSEobjectParams ::= 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>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>
备注
为了便于阅读,此处不包括可为账户设置的会话参数的完整列表。有关所有会话参数的完整列表及其说明,以及账户和对象参数,请参阅 参数。
更改其他账户¶
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
更改当前账户的参数¶
修改当前账户时,请使用以下参数。
有关在账户级别设置参数的更多信息,请参阅 参数管理。有关特定参数的详细信息,请参阅 参数。
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
取消设置账户的包策略、密码策略或会话策略。
更改其他账户的参数¶
使用当前账户修改其他账户时,请使用以下参数。只有组织管理员(即具有 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;
将网络策略关联从您的账户中移除:
ALTER ACCOUNT UNSET NETWORK_POLICY;
在账户级别设置包策略。
ALTER ACCOUNT SET PACKAGES POLICY packages_policy_prod_1 FORCE;备注
如果已经在当前账户上设置了包策略,则可以使用 FORCE 来设置包策略,而不必先取消包政策。
取消设置包策略。
ALTER ACCOUNT UNSET PACKAGES POLICY;