Limite de 63 caracteres para identificadores de conta (pendente)

Atenção

Essa alteração de comportamento faz parte do pacote 2026_03.

Para saber o status atual do pacote, consulte Histórico do pacote.

Antes da mudança:

A Snowflake não impõe um limite máximo de comprimento ou restrição de sublinhado final no Formato 1 do identificador da conta (o nome da conta precedido pelo nome da organização, por exemplo, myorg-myaccount). A criação e a renomeação de contas são bem-sucedidas independentemente do comprimento do identificador.

Após a mudança:

Quando o pacote de alterações de comportamento 2026_03 estiver ativado em sua conta, o Snowflake vai aplicar as seguintes restrições ao Formato 1 do identificador da conta:

  • O identificador <orgname>-<account_name> combinado não pode exceder 63 caracteres.

  • O nome da conta não pode terminar com um sublinhado (_).

Se uma instrução ALTER ACCOUNT ... RENAME TO ou CREATE ACCOUNT violar qualquer uma das restrições, a instrução falhará com um dos seguintes códigos de erro:

  • ORG_ACCOUNT_NAME_EXCEEDS_DNS_LIMIT se o identificador exceder 63 caracteres.

  • ACCOUNT_NAME_INVALID_FOR_DNS se o nome da conta terminar com um sublinhado.

Essas restrições garantem que o identificador da conta esteja em conformidade com os limites para um rótulo DNS definido em RFC 1035 e o rótulo LDH definido nos requisitos básicos do CA/Browser Forum, evitando possíveis falhas de pesquisa de DNS e de acessibilidade da conta.

Contas existentes que não estejam em conformidade com esses limites continuarão funcionando. No entanto, a Snowflake recomenda renomeá-las para garantir o bom funcionamento com os recursos atuais e futuros. Depois de renomear uma conta para um nome compatível, não é possível renomeá-la de volta para um nome não compatível.

Para encontrar contas não compatíveis, execute as seguintes consultas:

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

Para obter mais informações sobre identificadores de conta, consulte Identificadores de conta. Para obter mais informações sobre como renomear contas, consulte Renomeação de uma conta.

Ref: 2215