63-character limit for account identifiers (Pending)

Attention

This behavior change is in the 2026_03 bundle.

For the current status of the bundle, refer to Bundle history.

Before the change:

Snowflake doesn’t enforce a maximum length or trailing-underscore restriction on Format 1 of the account identifier (the account name prefixed by its organization name, for example myorg-myaccount). Account creation and renaming succeed regardless of identifier length.

After the change:

When the 2026_03 behavior change bundle is enabled in your account, Snowflake enforces the following restrictions on Format 1 of the account identifier:

  • The combined <orgname>-<account_name> identifier can’t exceed 63 characters.

  • The account name can’t end with an underscore (_).

If an ALTER ACCOUNT ... RENAME TO or CREATE ACCOUNT statement violates either restriction, the statement fails with one of the following error codes:

  • ORG_ACCOUNT_NAME_EXCEEDS_DNS_LIMIT if the identifier exceeds 63 characters.

  • ACCOUNT_NAME_INVALID_FOR_DNS if the account name ends with an underscore.

These restrictions ensure that the account identifier complies with the limits for a DNS label defined in RFC 1035 and the LDH label defined in the CA/Browser Forum Baseline Requirements, preventing possible DNS lookup and account reachability failures.

Existing accounts that don’t comply with these limits continue to function. However, Snowflake recommends renaming them to ensure smooth operation with current and future features. Once you rename an account to a compliant name, you can’t rename it back to a non-compliant name.

To find non-compliant accounts, run the following queries:

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", '_');

For more information about account identifiers, see Account identifiers. For more information about renaming accounts, see Renaming an account.

Ref: 2215