Categorias:

Information Schema , Funções de tabela

REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB

A família de funções REPLICATION_GROUP_REFRESH_PROGRESS pode ser usada para consultar o status de uma atualização de grupo de replicação ou failover:

  • REPLICATION_GROUP_REFRESH_PROGRESS retorna um objeto JSON indicando o status de atualização de uma replicação secundária ou grupo de failover por nome.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB retorna um objeto JSON indicando o status de atualização de uma replicação secundária ou grupo de failover por ID de consulta.

Nota

  • REPLICATION_GROUP_REFRESH_PROGRESS só retorna a atividade de atualização do grupo de replicação ou failover para a atualização mais recente se ela tiver ocorrido nos últimos 14 dias.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB retorna a atividade de atualização do grupo de replicação ou failover nos últimos 14 dias.

Sintaxe

REPLICATION_GROUP_REFRESH_PROGRESS( '<secondary_group_name>' )

REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Argumentos

secondary_group_name

Nome do grupo de replicação ou failover secundário. Observe que o nome completo deve ser delimitado por aspas simples.

query_id

ID da consulta de atualização do grupo de replicação. A ID da consulta pode ser obtida da página History Guia Histórico na interface da Web.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

PHASE_NAME

TEXT

Nome das fases de replicação concluídas (ou em andamento) até o momento. Para a lista de fases, consulte as notas de uso.

START_TIME

TIMESTAMP_LTZ

Hora em que a fase de replicação começou.

END_TIME

TIMESTAMP_LTZ

Hora em que a fase terminou, se aplicável. NULL se a fase estiver em andamento ou for a fase de término (COMPLETED/FAILED/CANCELED).

PROGRESS

TEXT

  • PRIMARY_UPLOADING_DATA: Porcentagem do total de bytes replicados.

  • SECONDARY_DOWNLOADING_METADATA: Porcentagem do número total de objetos replicados.

  • SECONDARY_DOWNLOADING_DATA: Porcentagem do total de bytes replicados.

Vazio para as fases restantes

DETAILS

VARIANT

  • Para a fase PRIMARY_UPLOADING_METADATA:

    • primarySnapshotTimestamp: Hora em que a imagem principal foi criada. O formato é hora de época.

  • Para a fase PRIMARY_UPLOADING_DATA:

    • totalBytesToReplicate: Número total de bytes que se espera que sejam carregados.

    • totalBytesToUpload: Número total de bytes que precisam ser carregados.

    • bytesUploaded: Número total de bytes carregados até o momento.

    • databases: Lista de objetos JSON contendo os seguintes campos para cada banco de dados membro:

      • name: Nome do banco de dados

      • totalBytesToReplicate: Número total de bytes que se espera que sejam carregados para o banco de dados.

  • Para a fase SECONDARY_DOWNLOADING_DATA:

    • totalBytesToReplicate: Número total de bytes que se espera baixar.

    • totalBytesToDownload: Número total de bytes que precisam ser baixados.

    • bytesDownloaded: Número real de bytes baixados até o momento.

    • databases: Lista de objetos JSON contendo os seguintes campos para cada banco de dados membro:

      • name: Nome do banco de dados

      • totalBytesToReplicate: Total de bytes que se espera baixar para o banco de dados.

  • Para a fase SECONDARY_DOWNLOADING_METADATA:

    • totalObjects: Número total de objetos a serem baixados.

    • completedObjects: Número total de objetos baixados até o momento.

    • objectTypes: Lista de objetos JSON contendo os seguintes campos para cada tipo de objeto:

      • objectType: Tipo de objeto (por exemplo, usuários, funções, concessões, warehouses, esquemas, tabelas, colunas, etc.).

      • totalObjects: Número total de objetos desse tipo.

      • completedObjects: Número de objetos completados deste tipo.

  • Para a fase FAILED:

    • errorCode: Código de erro da falha.

    • errorMessage: Mensagem de erro da falha.

Notas de uso

  • Só retorna linhas para uma função com qualquer privilégio sobre o grupo de replicação ou failover.

  • Só retorna linhas para um grupo de replicação ou failover secundário na conta atual.

  • 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 detalhes, consulte Snowflake Information Schema.

  • A seguir está a lista das fases na ordem processada:

    #

    Nome da fase

    Descrição

    1

    SECONDARY_SYNCHRONIZING_MEMBERSHIP

    O grupo de failover de replicação ou failover secundário recebe informações do grupo primário sobre os objetos inclusos no grupo e atualiza seus metadados de associação.

    2

    SECONDARY_UPLOADING_INVENTORY

    O grupo de failover de replicação ou failover secundário envia um inventário de seus objetos na conta de destino para o grupo primário.

    3

    PRIMARY_UPLOADING_METADATA

    O grupo de failover ou replicação primário cria uma captura de metadados na conta de origem e a envia ao grupo secundário.

    4

    PRIMARY_UPLOADING_DATA

    O grupo primário de replicação ou grupo de failover copia os arquivos que o grupo secundário precisa para reconciliar quaisquer deltas entre os objetos nas contas de origem e de destino.

    5

    SECONDARY_DOWNLOADING_METADATA

    O grupo de failover ou replicação secundário aplica o instantâneo dos metadados que foram enviados pelo primário. As atualizações de metadados não são aplicadas atomicamente, mas sim ao longo do tempo.

    6

    SECONDARY_DOWNLOADING_DATA

    O grupo de failover ou replicação secundário copia os arquivos enviados pelo grupo primário para a conta de destino.

    7

    COMPLETED / FAILED / CANCELED

    Atualiza o status da operação.

  • Nas fases PRIMARY_UPLOADING_DATA e SECONDARY_DOWNLOADING_DATA, o valor totalBytesToReplicate é estimado antes da operação de replicação. Esse valor pode ser diferente do valor totalBytesToUpload ou totalBytesToDownload na respectiva fase.

    Por exemplo, se durante a fase PRIMARY_UPLOADING_DATA, uma operação de replicação anterior carregasse alguns bytes mas fosse cancelada antes que a operação fosse concluída, esses bytes não seriam carregados novamente. Nesse caso, totalBytesToUpload seria inferior a totalBytesToReplicate.

Exemplos

Para recuperar o progresso de atualização atual do grupo de replicação rg1, execute a seguinte instrução:

SELECT phase_name, start_time, end_time, progress, details
  FROM TABLE(INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS('rg1'));
Copy

Para recuperar o progresso da atualização do grupo de replicação por ID de consulta, substitua o ID de consulta no exemplo e execute a seguinte instrução:

SELECT phase_name, start_time, end_time, progress, details
  FROM TABLE(
    INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB(
      '012a3b45-1234-a12b-0000-1aa200012345'));
Copy