- Categorias:
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:
Sintaxe¶
REPLICATION_GROUP_DANGLING_REFERENCES( '<replication_or_failover_group_name>' )
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, |
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')
);