- カテゴリ:
REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB, REPLICATION_GROUP_REFRESH_PROGRESS_ALL¶
テーブル関数の REPLICATION_GROUP_REFRESH_PROGRESS ファミリーを使用すると、複製またはフェールオーバーグループの更新操作のステータスをクエリできます。
REPLICATION_GROUP_REFRESH_PROGRESS は、セカンダリ複製またはフェールオーバーグループの更新ステータスを名前別に示す JSON オブジェクトを返します。
REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB は、セカンダリ複製またはフェールオーバーグループの更新ステータスをクエリ ID 別に示す JSON オブジェクトを返します。
REPLICATION_GROUP_REFRESH_PROGRESS_ALL は、すべてのセカンダリ複製およびフェールオーバーグループの更新ステータスを示す JSON オブジェクトを返します。
注釈
REPLICATION_GROUP_REFRESH_PROGRESS は、過去14日以内に発生した場合にのみ、最新の複製またはフェールオーバーグループ更新の更新アクティビティを返します。
REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOBおよびREPLICATION_GROUP_REFRESH_PROGRESS_ALLは、過去14日以内の複製グループまたはフェールオーバーグループの更新アクティビティを返します。デフォルトでは(日付範囲の引数が指定されていない場合)、REPLICATION_GROUP_REFRESH_PROGRESS_ALLは過去12時間のデータを返します。オプションの``DATE_RANGE_START``および``DATE_RANGE_END``引数を使用して、14日の保持期間内のカスタム範囲をクエリします。
構文¶
引数¶
'secondary_group_name'セカンダリ複製またはフェールオーバーグループの名前。名前全体を一重引用符で囲む必要があります。
'query_id'
REPLICATION_GROUP_REFRESH_PROGRESS_ALLでは、次の引数はオプションです。
DATE_RANGE_START => constant_expr、 .DATE_RANGE_END => constant_expr複製更新の進捗状況を返す日付/時刻範囲。
開始日も終了日も指定されていない場合、過去12時間がデフォルトです。
開始日は指定されているが、終了日は指定されていない場合は、:doc:`/sql-reference/functions/current_date`の午前0時が範囲の終了として使用されます。
終了日は指定されているが、開始日は指定されていない場合、範囲は:samp:`DATE_RANGE_END`の開始12時間前に開始します。
データは14日間保持されます。リクエストされた範囲が14日の保持期間を超えている場合、関数はエラーを返します。
出力¶
この関数は、次の列を返します。REPLICATION_GROUP_REFRESH_PROGRESS_ALL には、結果セットの最初の2列として追加の列が含まれています。
列名 |
データ型 |
説明 |
|---|---|---|
GROUP_NAME |
TEXT |
結果セットのこの行に対応するセカンダリの複製またはフェールオーバーグループを指定します。REPLICATION_GROUP_REFRESH_PROGRESS_ALL にのみ適用されます。 |
GROUP_TYPE |
TEXT |
結果セットのこの行に対応するグループがフェールオーバーグループであるか複製グループであるかを指定します。値は |
PHASE_NAME |
TEXT |
これまでに完了した(または進行中の)複製フェーズの名前。フェーズのリストについては、使用上の注意をご参照ください。 |
START_TIME |
TIMESTAMP_LTZ |
複製フェーズが開始された時刻。 |
END_TIME |
TIMESTAMP_LTZ |
フェーズが終了した時刻(該当する場合)。フェーズが進行中の場合、または終了フェーズの場合( |
PROGRESS |
TEXT |
残りのフェーズは空白です |
DETAILS |
VARIANT |
|
使用上の注意¶
``DATE_RANGE_START``または``DATE_RANGE_END``引数が提供されない場合、REPLICATION_GROUP_REFRESH_PROGRESS_ALLは過去12時間のデータを返します。過去12時間を超えるデータを取得するには、日付範囲を明示的に指定します。データは最大14日間利用できます。
複製またはフェールオーバーグループに対する権限を持つロールの行のみを返します。
現在のアカウント内にあるセカンダリ複製またはフェールオーバーグループの行のみを返します。
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 の現在の更新進捗状況を取得するには、以下のステートメントを実行します。
クエリ ID によって複製グループの更新進捗状況を取得するには、例のクエリ ID を置き換えて、以下のステートメントを実行します。
すべてのフェールオーバーグループと複製グループの過去12時間(デフォルト)の更新進捗状況を取得するには、以下のステートメントを実行します。
すべてのグループの過去7日間の更新進捗状況を取得するには: