カテゴリ:

Information Schemaテーブル関数

DATABASE_REFRESH_PROGRESS , DATABASE_REFRESH_PROGRESS_BY_JOB

DATABASE_REFRESH_PROGRESS ファミリーの関数を使用して、さまざまなディメンションに沿ってデータベースの更新のステータスをクエリできます。

  • DATABASE_REFRESH_PROGRESS は、セカンダリデータベースの現在の更新ステータスを名前で示す JSON オブジェクトを返します。

  • DATABASE_REFRESH_PROGRESS_BY_JOB は、更新クエリによるセカンダリデータベースの現在の更新ステータスを示す JSON オブジェクトを返します。

各関数は、指定されたディメンションに沿ったクエリ用に最適化されています。

注釈

  • DATABASE_REFRESH_PROGRESS は、過去14日以内に発生した場合にのみ、最新のデータベース更新のデータベース更新アクティビティを返します。

  • DATABASE_REFRESH_PROGRESS_BY_JOB は、過去14日間のデータベース更新アクティビティを返します。

こちらもご参照ください。

DATABASE_REFRESH_HISTORY

構文

DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )

DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

引数

secondary_db_name

セカンダリデータベースの名前。セカンダリデータベースが現在のセッションのアクティブデータベースである場合、この引数はオプションです。

名前全体を一重引用符で囲む必要があります。

query_id

データベース更新クエリのID 。クエリ ID は、ウェブインターフェイスの History 履歴タブ ページから取得できます。

使用上の注意

  • アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)の結果のみを返します。

  • 情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

  • 次は、処理される順序のフェーズのリストです。

    1. SECONDARY_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. COMPLETED / FAILED / CANCELED

出力

この関数は、次の列を返します。

列名

データ型

説明

PHASE_NAME

TEXT

これまでに完了した(または進行中の)複製フェーズの名前。フェーズのリストについては、使用上の注意をご参照ください。

RESULT

TEXT

複製フェーズのステータス。有効なステータスは EXECUTINGSUCCEEDEDCANCELLEDFAILED です。

START_TIME

NUMBER

複製フェーズが開始された時刻。形式はエポック時間です。

END_TIME

NUMBER

フェーズが終了した時間(該当する場合)。形式はエポック時間です。

DETAILS

VARIANT

DATABASE_REFRESH_PROGRESS関数でのみ返されます。 次のフェーズの詳細情報を提供するJSONオブジェクト: . - プライマリアップロードデータ: プライマリデータベースの現在のスナップショットにおけるタイムスタンプ。 . - プライマリアップロードデータ および セカンダリダウンロードデータ: データベース更新の合計バイト数と、フェーズでこれまでにコピーされたバイト数。 . - セカンダリダウンロードメタデータ: プライマリデータベースの最新のスナップショット内におけるテーブル、テーブル列、およびすべてのデータベースオブジェクト(テーブルとテーブル列を含む)の数。

mydb1 データベースのデータベースリフレッシュの現在の進行状況を取得します。

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

クエリ IDによってデータベースリフレッシュの現在の進行状況を取得します。

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