Categorias:

Information Schema , Funções de tabela

REPLICATION_GROUP_REFRESH_HISTORY, REPLICATION_GROUP_REFRESH_HISTORY_ALL

Você pode usar a família de funções de tabela REPLICATION_GROUP_REFRESH_HISTORY para consultar o histórico de replicação de um grupo secundário de replicação ou de failover, ou de todos esses grupos.

Por padrão (quando não são fornecidos argumentos de intervalo de datas), essas funções retornam dados para as últimas 12 horas. Você pode usar os argumentos DATE_RANGE_START e DATE_RANGE_END opcionais para consultar um intervalo personalizado dentro da janela de retenção de 14 dias.

Consulte também:

Exibição REPLICATION_GROUP_REFRESH_HISTORY

Sintaxe

REPLICATION_GROUP_REFRESH_HISTORY(
      '<secondary_group_name>'
      [ , DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ] )

REPLICATION_GROUP_REFRESH_HISTORY_ALL(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ] )

Argumentos

'secondary_group_name'

Nome do grupo secundário. O nome completo deve ser colocado entre aspas simples. Obrigatório para REPLICATION_GROUP_REFRESH_HISTORY. Não usado com REPLICATION_GROUP_REFRESH_HISTORY_ALL.

Os argumentos a seguir são opcionais para ambas as funções.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

O intervalo de data/hora para o qual o histórico de atualização de replicação deve ser retornado.

  • Se não for especificada nem uma data de início nem uma data final, o padrão será as últimas 12 horas.

  • Se for especificada uma data de início, mas nenhuma data final, CURRENT_DATE à meia-noite será usada como fim do intervalo.

  • Se uma data final for especificada, mas nenhuma data de início, o intervalo começará 12 horas antes do início de DATE_RANGE_END.

Os dados são retidos por 14 dias. Se o intervalo solicitado ultrapassar a janela de retenção de 14 dias, a função retornará um erro.

Saída

A função retorna as seguintes colunas. REPLICATION_GROUP_REFRESH_HISTORY_ALL tem colunas adicionais que são as duas primeiras colunas do conjunto de resultados.

Nome da coluna

Tipo de dados

Descrição

GROUP_NAME

TEXT

Especifica qual grupo secundário de replicação ou failover corresponde a essa linha no conjunto de resultados. Aplica-se somente a REPLICATION_GROUP_REFRESH_HISTORY_ALL.

GROUP_TYPE

TEXT

Especifica se o grupo correspondente a essa linha no conjunto de resultados é um grupo de failover ou um grupo de replicação. O valor é FAILOVER ou REPLICATION. Aplica-se somente a REPLICATION_GROUP_REFRESH_HISTORY_ALL.

PHASE_NAME

TEXT

Fase atual da operação de replicação. Para obter a lista de fases, consulte as Notas de uso.

START_TIME

TIMESTAMP_LTZ

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

END_TIME

TIMESTAMP_LTZ

Hora em que a operação de replicação terminou, se aplicável. NULL se ela estiver em progresso.

JOB_UUID

TEXT

ID de consulta para o trabalho de atualização.

TOTAL_BYTES

VARIANT

Um objeto JSON que fornece informações detalhadas sobre bases de dados atualizadas:

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

  • bytesUploaded: Número real de bytes carregados.

  • bytesDownloaded: Número real de bytes baixados.

  • 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 que sejam replicados para o banco de dados.

OBJECT_COUNT

VARIANT

Um objeto JSON que fornece informações detalhadas sobre objetos atualizados:

  • totalObjects: Número total de objetos no grupo de replicação ou failover.

  • completedObjects: Número total de objetos concluídos.

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

    • 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 no grupo de replicação ou failover.

    • completedObjects: Número total de objetos desse tipo que foram completados.

PRIMARY_SNAPSHOT_TIMESTAMP

TIMESTAMP_LTZ

Carimbo de data/hora quando a imagem principal foi criada.

ERROR

VARIANT

NULL se a operação de atualização for bem-sucedida. Se a operação de atualização falhar, retorna um objeto JSON que fornece informações detalhadas sobre o erro:

  • errorCode: Código de erro da falha.

  • errorMessage: Mensagem de erro da falha.

Notas de uso

  • Quando os argumentos DATE_RANGE_START ou DATE_RANGE_END não são fornecidos, as funções retornam dados para as últimas 12 horas. Para recuperar dados das últimas 12 horas, especifique explicitamente o intervalo de datas. Os dados ficam disponíveis por até 14 dias.

  • 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 de 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.

Exemplos

Para recuperar o histórico de atualização do grupo secundário myfg, execute a seguinte instrução.

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY('myfg')
  );

Para recuperar o histórico de atualização das últimas 12 horas (padrão) para todos os grupos de failover e de replicação, execute a seguinte instrução:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY_ALL()
  );

Para recuperar o histórico de atualização dos últimos 7 dias para todos os grupos:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY_ALL(
          DATE_RANGE_START => DATEADD(D, -7, CURRENT_DATE),
          DATE_RANGE_END => CURRENT_DATE)
  );

Para recuperar o histórico de atualização de um intervalo de datas específico para o grupo secundário myfg:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY(
          'myfg',
          DATE_RANGE_START => '2025-04-01',
          DATE_RANGE_END => '2025-04-07')
  );