- カテゴリ:
REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB¶
REPLICATION_GROUP_REFRESH_PROGRESS の関数ファミリを使用して、複製またはフェールオーバーグループの更新のステータスをクエリできます。
REPLICATION_GROUP_REFRESH_PROGRESS は、セカンダリ複製またはフェールオーバーグループの更新ステータスを名前別に示す JSON オブジェクトを返します。
REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB は、セカンダリ複製またはフェールオーバーグループの更新ステータスをクエリ ID 別に示す JSON オブジェクトを返します。
注釈
REPLICATION_GROUP_REFRESH_PROGRESS は、過去14日以内に発生した場合にのみ、最新の複製またはフェールオーバーグループ更新の更新アクティビティを返します。
REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB 過去14日以内に複製またはフェールオーバーグループ更新の更新アクティビティを返します。
構文¶
REPLICATION_GROUP_REFRESH_PROGRESS( '<secondary_group_name>' )
REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
引数¶
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
PHASE_NAME |
TEXT |
これまでに完了した(または進行中の)複製フェーズの名前。フェーズのリストについては、使用上の注意をご参照ください。 |
START_TIME |
TIMESTAMP_LTZ |
複製フェーズが開始された時刻。 |
END_TIME |
TIMESTAMP_LTZ |
フェーズが終了した時刻(該当する場合)。フェーズが進行中の場合、または終了フェーズの場合( |
PROGRESS |
TEXT |
残りのフェーズは空白です |
DETAILS |
VARIANT |
|
使用上の注意¶
複製またはフェールオーバーグループに対する権限を持つロールの行のみを返します。
現在のアカウント内にあるセカンダリ複製またはフェールオーバーグループの行のみを返します。
Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
次は、処理される順序のフェーズのリストです。
#
フェーズ名
説明
1
SECONDARY_SYNCHRONIZING_MEMBERSHIP
セカンダリ複製グループまたはフェイルオーバーグループが、グループに含まれるオブジェクトに関する情報をプライマリグループから受け取り、そのメンバーシップメタデータを更新します。
2
SECONDARY_UPLOADING_INVENTORY
セカンダリ複製またはフェイルオーバーグループが、ターゲットアカウント内のオブジェクトのインベントリを、プライマリグループに送信します。
3
PRIMARY_UPLOADING_METADATA
プライマリ複製グループまたはフェイルオーバーグループが、ソースアカウントのメタデータのスナップショットを作成し、セカンダリグループに送信します。
4
PRIMARY_UPLOADING_DATA
プライマリ複製グループまたはフェイルオーバーグループが、セカンダリグループがソースアカウントとターゲットアカウントのオブジェクト間の差分を調整するために使用するファイルをコピーします。
5
SECONDARY_DOWNLOADING_METADATA
セカンダリ複製グループまたはフェイルオーバーグループが、プライマリから送信されたメタデータのスナップショットを適用します。メタデータの更新はアトミックに適用されるのではなく、時間をかけて適用されます。
6
SECONDARY_DOWNLOADING_DATA
セカンダリ複製グループまたはフェイルオーバーグループが、プライマリグループから送信されたファイルをターゲットアカウントにコピーします。
7
COMPLETED
/FAILED
/CANCELED
更新処理のステータス。
PRIMARY_UPLOADING_DATA
およびSECONDARY_DOWNLOADING_DATA
フェーズでは、複製操作の前にtotalBytesToReplicate
値が推定されます。この値は、それぞれのフェーズのtotalBytesToUpload
またはtotalBytesToDownload
の値とは異なる場合があります。たとえば、
PRIMARY_UPLOADING_DATA
フェーズ中に以前の複製操作で数バイトがアップロードされ、操作が完了する前にキャンセルされた場合、それらのバイトは再度アップロードされません。その場合、totalBytesToUpload
はtotalBytesToReplicate
より小さくなります。
例¶
複製グループ rg1
の現在の更新進捗状況を取得するには、以下のステートメントを実行します。
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS('rg1'));
クエリ ID によって複製グループの更新進捗状況を取得するには、例のクエリ ID を置き換えて、以下のステートメントを実行します。
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(
INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB(
'012a3b45-1234-a12b-0000-1aa200012345'));