账户标识符的 63 个字符限制(待定)

注意

此行为变更包含在 2026_03 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

变更前:

对于账户标识符的 格式 1 <https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-1-preferred-account-name-in-your-organization>`_(即组织名称前缀加账户名称,例如 ``myorg-myaccount`),Snowflake 不强制要求最大长度,也不限制以下划线结尾。无论标识符长度如何,账户创建和重命名都会成功。

变更后:

当您的账户启用了 2026_03 行为变更捆绑包后,Snowflake 将对账户标识符的“格式 1”实施以下限制:

  • 合并后的 <orgname>-<account_name> 标识符不能超过 63 个字符

  • 账户名称不能以 下划线 (_) 结尾。

如果 ALTER ACCOUNT ... RENAME TOCREATE ACCOUNT 语句违反任一限制,则该语句将失败并显示以下错误代码之一:

  • 若标识符超过 63 个字符,则返回 ORG_ACCOUNT_NAME_EXCEEDS_DNS_LIMIT

  • 如果账户名称以下划线结尾,则返回 ACCOUNT_NAME_INVALID_FOR_DNS

这些限制确保账户标识符符合 RFC 1035 (https://www.rfc-editor.org/rfc/rfc1035) 中定义的 DNS 标签长度限制,以及 CA/浏览器论坛基线要求中定义的 LDH 标签规范,从而避免可能出现的 DNS 查找失败和账户无法访问的问题。

不符合这些限制的 现有账户 仍可继续运行。但是,Snowflake 建议重命名它们,以确保当前和未来的功能顺利运行。将账户重命名为合规名称后,您无法将其重命名回不合规名称。

要查找不合规账户,请运行以下查询:

SHOW ACCOUNTS;

SELECT
  CURRENT_ORGANIZATION_NAME() || '-' || "account_name" AS identifier,
  LENGTH(identifier) AS len
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
WHERE len > 63 OR ENDSWITH("account_name", '_');
SHOW MANAGED ACCOUNTS;

SELECT
  CURRENT_ORGANIZATION_NAME() || '-' || "account_name" AS identifier,
  LENGTH(identifier) AS len
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
WHERE len > 63 OR ENDSWITH("account_name", '_');

有关账户标识符的更多信息,请参阅 账户标识符。有关重命名账户的更多信息,请参阅 重命名账户.

参考:2215