Catégories :

Information Schema , Fonctions de table

DATABASE_REFRESH_PROGRESS , DATABASE_REFRESH_PROGRESS_BY_JOB

La famille de fonctions DATABASE_REFRESH_PROGRESS permet d’interroger le statut d’une actualisation de la base de données selon différentes dimensions :

  • DATABASE_REFRESH_PROGRESS renvoie un objet JSON indiquant le statut d’actualisation actuel d’une base de données secondaire par son nom.

  • DATABASE_REFRESH_PROGRESS_BY_JOB renvoie un objet JSON indiquant le statut d’actualisation actuel d’une base de données secondaire par requête d’actualisation.

Chaque fonction est optimisée pour les requêtes au sein de la dimension spécifiée.

Note

  • DATABASE_REFRESH_PROGRESS renvoie uniquement l’activité d’actualisation de la base de données pour la plus récente actualisation de la base de données si elle a eu lieu au cours des 14 derniers jours.

  • DATABASE_REFRESH_PROGRESS_BY_JOB renvoie l’activité d’actualisation de la base de données au cours des 14 derniers jours.

Voir aussi :

DATABASE_REFRESH_HISTORY

Syntaxe

DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )

DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Arguments

secondary_db_name

Nom de la base de données secondaire. Cet argument est facultatif si la base de données secondaire est la base de données active de la session en cours.

Notez que le nom entier doit être entre guillemets simples.

query_id

ID de la requête d’actualisation de la base de données. L’ID de requête peut être obtenu à partir de la page History Onglet Historique dans l’interface Web.

Notes sur l’utilisation

  • Renvoie uniquement les résultats des administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN).

  • Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.

  • Voici la liste des phases de traitement dans l’ordre :

    1. SECONDARY_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. COMPLETED / FAILED / CANCELED

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

PHASE_NAME

TEXT

Nom des phases de réplication terminées (ou en cours) jusqu’à présent. Pour la liste des phases, voir les notes d’utilisation.

RESULT

TEXT

Statut de la phase de réplication. Les statuts valides sont EXECUTING, SUCCEEDED, CANCELLED, FAILED.

START_TIME

NUMBER

Heure à laquelle la phase de réplication a commencé. Le format est l’heure de l’époque.

END_TIME

NUMBER

Heure de fin de la phase, le cas échéant. Le format est l’heure de l’époque.

DETAILS

VARIANT

Retourné par la fonction DATABASE_REFRESH_PROGRESS uniquement. Un objet JSON qui fournit des informations détaillées pour les phases suivantes : . - Données de chargement principales : horodatage de l’instantané actuel de la base de données principale. . - Données de chargement principales et Données de téléchargement secondaires : nombre total d’octets dans l’actualisation de la base de données ainsi que le nombre d’octets copiés jusqu’à présent dans la phase. . - Métadonnées de téléchargement secondaire : nombre de tables, de colonnes de table et de tous les objets de base de données (y compris les tables et les colonnes de table) dans le dernier instantané de la base de données principale.

Exemples

Récupérez la progression actuelle de l’actualisation de la base de données pour la base de données mydb1 :

select *
from table(information_schema.database_refresh_progress(mydb1));
Copy

Récupérez la progression actuelle d’une actualisation de la base de données à l’aide de l’ID de requête :

select *
from table(information_schema.database_refresh_progress_by_job('012a3b45-1234-a12b-0000-1aa200012345'));
Copy