Kategorien:

Information Schema, Tabellenfunktionen

REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB

Mit der Funktionsfamilie REPLICATION_GROUP_REFRESH_PROGRESS kann der Status der Aktualisierung einer Replikations- oder Failover-Gruppe abgefragt werden:

  • REPLICATION_GROUP_REFRESH_PROGRESS gibt ein JSON-Objekt zurück, das den Aktualisierungsstatus für eine sekundäre Replikations- oder Failover-Gruppe nach Namen angibt.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB gibt ein JSON-Objekt zurück, das den Aktualisierungsstatus für eine sekundäre Replikations- oder Failover-Gruppe nach Abfrage-ID angibt.

Bemerkung

  • REPLICATION_GROUP_REFRESH_PROGRESS gibt nur die Aktualisierungsaktivität der Replikations- oder Failover-Gruppe für die letzte Aktualisierung zurück, wenn diese innerhalb der letzten 14 Tage stattfand.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB gibt die Aktualisierungsaktivitäten der Replikations- oder Failover-Gruppe der letzten 14 Tage zurück.

Syntax

REPLICATION_GROUP_REFRESH_PROGRESS( '<secondary_group_name>' )

REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Argumente

secondary_group_name

Name der sekundären Replikations- oder Failover-Gruppe. Beachten Sie, dass der gesamte Name in einfache Anführungszeichen gesetzt werden muss.

query_id

ID der Aktualisierungsabfrage der Replikationsgruppe. Die Abfrage-ID kann von der Seite History History tab der Weboberfläche abgerufen werden.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

PHASE_NAME

TEXT

Name der bisher abgeschlossenen (oder laufenden) Replikationsphasen. Die Liste der Phasen finden Sie in den Nutzungshinweisen.

START_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem die Replikationsphase begann.

END_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem die Phase beendet wurde, falls zutreffend. NULL, wenn sich die Phase noch in Ausführung befindet oder wenn sie die abschließende Phase ist (COMPLETED/FAILED/CANCELED).

PROGRESS

TEXT

  • PRIMARY_UPLOADING_DATA: Prozentsatz der insgesamt replizierten Bytes (Upload).

  • SECONDARY_DOWNLOADING_METADATA: Prozentualer Anteil an der Gesamtzahl der replizierten Objekte.

  • SECONDARY_DOWNLOADING_DATA: Prozentsatz der insgesamt replizierten Bytes (Download).

Leer für die übrigen Phasen.

DETAILS

VARIANT

  • Für Phase PRIMARY_UPLOADING_METADATA:

    • primarySnapshotTimestamp: Zeitpunkt, zu dem der primäre Snapshot erstellt wurde. Das Format ist die Epochenzeit.

  • Für Phase PRIMARY_UPLOADING_DATA:

    • totalBytesToReplicate: Gesamtzahl der Bytes, die voraussichtlich hochgeladen werden.

    • totalBytesToUpload: Gesamtzahl der Bytes, die hochgeladen werden müssen.

    • bytesUploaded: Gesamtzahl der bisher hochgeladenen Bytes.

    • databases: Liste von JSON-Objekten mit folgenden Felder für jede Mitgliedsdatenbank:

      • name: Name der Datenbank.

      • totalBytesToReplicate: Gesamtzahl der Bytes, die voraussichtlich für die Datenbank hochgeladen werden.

  • Für Phase SECONDARY_DOWNLOADING_DATA:

    • totalBytesToReplicate: Gesamtzahl der Bytes, die voraussichtlich heruntergeladen werden.

    • totalBytesToDownload: Tatsächliche Anzahl der Bytes, die heruntergeladen werden müssen.

    • bytesDownloaded: Tatsächliche Anzahl der bisher heruntergeladenen Bytes.

    • databases: Liste von JSON-Objekten mit folgenden Felder für jede Mitgliedsdatenbank:

      • name: Name der Datenbank.

      • totalBytesToReplicate: Gesamtzahl der Bytes, die voraussichtlich für die Datenbank heruntergeladen werden.

  • Für Phase SECONDARY_DOWNLOADING_METADATA:

    • totalObjects: Gesamtzahl der Objekte, die heruntergeladen werden müssen.

    • completedObjects: Gesamtzahl der Objekte, die bisher heruntergeladen wurden.

    • objectTypes: Liste von JSON-Objekten, die die folgenden Felder für jeden Objekttyp enthält:

      • objectType: Typ des Objekts (z. B. Benutzer, Rollen, Berechtigungen, Warehouses, Schemas, Tabellen, Spalten usw.).

      • totalObjects: Gesamtzahl der Objekte dieses Typs.

      • completedObjects: Anzahl der abgeschlossenen Objekte dieses Typs.

  • Für Phase FAILED:

    • errorCode: Fehlercode des Fehlers.

    • errorMessage: Fehlermeldung des Fehlers.

Nutzungshinweise

  • Gibt nur Zeilen für eine Rolle mit beliebigen Berechtigungen für die Replikations- oder Failover-Gruppe zurück.

  • Gibt nur Zeilen für eine sekundäre Replikations- oder Failover-Gruppe im aktuellen Konto zurück.

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.

  • Die folgende Liste zeigt die Verarbeitungsreihenfolge der Phasen:

    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

  • In den Phasen PRIMARY_UPLOADING_DATA und SECONDARY_DOWNLOADING_DATA erfolgt vor der Replikationsoperation eine Schätzung des totalBytesToReplicate-Werts. Dieser Wert kann von dem totalBytesToUpload- oder totalBytesToDownload-Wert der jeweiligen Phase abweichen.

    Wenn beispielsweise während der Phase PRIMARY_UPLOADING_DATA von einer vorherigen Replikationsoperation einige Bytes hochgeladen wurden, die Operation aber vorzeitig abgebrochen wurde, werden diese Bytes nicht erneut hochgeladen. In diesem Fall wäre totalBytesToUpload niedriger als totalBytesToReplicate.

Beispiele

Abrufen des aktuellen Fortschritts der Replikationsgruppenaktualisierung für die Replikationsgruppe rg1:

select *
from table(information_schema.replication_group_refresh_progress('rg1'));
Copy

Abrufen des aktuellen Fortschritts einer Replikationsgruppenaktualisierung nach Abfrage-ID:

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