Categorias:

Information Schema , Funções de tabela

REPLICATION_GROUP_DANGLING_REFERENCES

Detecta casos em que um objeto referenciado em um grupo de replicação ou grupo de failover não é realmente replicado para a conta secundária. O Snowflake se refere a esses tipos de referências como referências pendentes.

Depois de usar esta função para detectar referências pendentes em sua configuração de replicação, você pode reorganizar seus grupos de replicação ou grupos de failover para que todos os objetos referenciados sejam incluídos. Ou você pode modificar sua hierarquia de objetos SQL para que os objetos referenciados façam parte de um contêiner como um banco de dados ou esquema incluído nos grupos de replicação ou grupos de failover.

Se você usar vários grupos de replicação ou grupos de failover, também poderá especificar a ordem das operações de atualização para garantir que quaisquer objetos necessários para resolver referências pendentes sejam replicados para a conta secundária antes dos objetos que se referem a eles.

Importante

Preste atenção especial a quaisquer valores TRUE na coluna IS_BLOCKING_REFRESH. As operações de atualização e failover não podem prosseguir até que você resolva essas referências.

Consulte também:

Replicação e referências entre grupos de replicação

Sintaxe

REPLICATION_GROUP_DANGLING_REFERENCES( '<replication_or_failover_group_name>' )
Copy

Argumentos

'replication_or_failover_group_name'

Nome do grupo de replicação ou grupo de failover a ser verificado para referências pendentes. O nome completo deve ser delimitado por aspas simples.

Saída

A função retorna as seguintes colunas.

Nome da coluna

Tipo de dados

Descrição

REFERENCED_ENTITY_DOMAIN

VARCHAR

O domínio da entidade referida pela referência pendente.

REFERENCED_ENTITY_NAME

VARCHAR

O nome totalmente qualificado da entidade referida pela referência pendente.

REFERENCING_ENTITY_DOMAIN

VARCHAR

O domínio da entidade no grupo de replicação com uma referência pendente, por exemplo, Table.

REFERENCING_ENTITY_NAME

VARCHAR

O nome totalmente qualificado da entidade no grupo de replicação com uma referência pendente.

REFERENCING_ENTITY_GROUPS

VARCHAR

Uma lista separada por vírgulas de todos os grupos de replicação que contêm a entidade de referência ou NULL se nenhum grupo contiver essa entidade.

IS_BLOCKING_REFRESH

BOOLEAN

Se for TRUE, as atualizações de replicação e os failovers falharão até que essa referência seja resolvida. Se for FALSE, o Snowflake poderá realizar essas operações apesar da referência pendente.

Notas de uso

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais informações, consulte Snowflake Information Schema.

  • Você pode executar esta função de qualquer conta em sua organização. O grupo de replicação ou grupo de failover que você especificar deve existir na conta que chama a função. Ou seja, você especifica o nome do grupo que é usado na região do provedor de serviços de nuvem onde você chama a função.

    • Se a função for chamada usando um grupo de replicação ou grupo de failover na conta primária, ela relatará referências pendentes se seus objetos referidos correspondentes não forem replicados para todas as contas secundárias.

    • Se a função for chamada usando um grupo de replicação ou grupo de failover na conta secundária, ela relatará referências pendentes se os objetos referidos correspondentes não forem replicados para o secundário específico em que a função foi chamada.

  • Para obter informações sobre como lidar com referências pendentes em grupos de replicação e grupos de failover, consulte Replicação e referências entre grupos de replicação.

Exemplos

Para verificar referências pendentes no grupo de failover myfg, execute a seguinte instrução a partir de sua conta primária ou secundária.

SELECT *
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_DANGLING_REFERENCES('myfg')
  );
Copy