- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$DATABASE_REFRESH_PROGRESS , SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB — Obsoleto¶
A família de funções SYSTEM$DATABASE_REFRESH_PROGRESS pode ser usada para consultar o status de uma atualização do banco de dados em várias dimensões:
SYSTEM$DATABASE_REFRESH_PROGRESS retorna um objeto JSON indicando o status atual de atualização de um banco de dados secundário pelo nome.
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB retorna um objeto JSON indicando o status atual de atualização de um banco de dados secundário através de uma consulta de atualização.
Nota
Estas funções retornam a atividade de atualização do banco de dados dos últimos 14 dias.
Sintaxe¶
SYSTEM$DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Argumentos¶
secondary_db_name
Nome do banco de dados secundário. Este argumento é opcional se o banco de dados secundário for o banco de dados ativo na sessão atual.
Observe que o nome completo deve ser delimitado por aspas simples.
query_id
ID da consulta de atualização do banco de dados. A ID da consulta pode ser obtida da página History na interface da Web.
Saída¶
A função retorna os seguintes elementos em um objeto JSON:
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
phaseName |
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. |
resultName |
TEXT |
Status da fase de replicação. |
startTimeUTC |
NUMBER |
Hora em que a fase de replicação começou. O formato é hora de época. |
endTimeUTC |
NUMBER |
Hora em que a fase terminou, se aplicável. O formato é hora de época. |
detalhes |
VARIANT |
Um objeto separado JSON que mostra o número total de bytes na atualização de dados, assim como o número de bytes copiados até agora na fase. Se a instrução de atualização anteriormente falhou ou foi cancelada e foi iniciada novamente, o objeto indicará o número de bytes pulados na segunda tentativa. O objeto |
Notas de uso¶
Só retorna resultados para administradores de conta (usuários com a função ACCOUNTADMIN).
A seguir está a lista das fases na ordem processada:
SECONDARY_UPLOADING_INVENTORY
PRIMARY_UPLOADING_METADATA
PRIMARY_UPLOADING_DATA
SECONDARY_DOWNLOADING_METADATA
SECONDARY_DOWNLOADING_DATA
COMPLETED / FAILED / CANCELED
Exemplos¶
O exemplo a seguir recupera o status atual de atualização para o banco de dados secundário especificado. Os resultados são retornados em um objeto JSON:
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS('mydb');
O exemplo seguinte recupera os mesmos detalhes que no exemplo anterior, mas os resultados são separados em colunas relacionais e os carimbos de data/hora são convertidos em TIMESTAMP_LTZ:
SELECT value:phaseName::string AS "Phase", value:resultName::string AS "Result", TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime", TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime", value:details AS "details" FROM table(flatten(INPUT=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS('mydb1'))));
O exemplo a seguir recupera o status para a consulta de atualização do banco de dados especificado. Os resultados são retornados em um objeto JSON:
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b');
O exemplo seguinte recupera os mesmos detalhes que no exemplo anterior, mas os resultados são separados em colunas relacionais e os carimbos de data/hora são convertidos em TIMESTAMP_LTZ:
SELECT value:phaseName::string AS "Phase", value:resultName::string AS "Result", TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime", TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime", value:details AS "details" FROM TABLE(FLATTEN(input=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b'))));