- Kategorien:
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>' )
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
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. |
PROGRESS |
TEXT |
Leer für die übrigen Phasen. |
DETAILS |
VARIANT |
|
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:
#
Phasenname
Beschreibung
1
SECONDARY_SYNCHRONIZING_MEMBERSHIP
Die sekundäre Replikations- oder Failover-Gruppe erhält von der primären Gruppe Informationen über die in der Gruppe enthaltenen Objekte und aktualisiert ihre Mitgliedschaftsmetadaten.
2
SECONDARY_UPLOADING_INVENTORY
Die sekundäre Replikations- oder Failover-Gruppe sendet eine Bestandsliste ihrer Objekte im Zielkonto an die primäre Gruppe.
3
PRIMARY_UPLOADING_METADATA
Die primäre Replikations- oder Failover-Gruppe erstellt einen Snapshot der Metadaten im Quellkonto und sendet ihn an die sekundäre Gruppe.
4
PRIMARY_UPLOADING_DATA
Die primäre Replikations- oder Failover-Gruppe kopiert die Dateien, die die sekundäre Gruppe benötigt, um etwaige Deltas zwischen den Objekten in den Quell- und Zielkonten abzugleichen.
5
SECONDARY_DOWNLOADING_METADATA
Die sekundäre Replikations- oder Failover-Gruppe wendet den von der primären Gruppe gesendeten Snapshot der Metadaten an. Die Metadatenaktualisierung werden nicht atomar, sondern im Laufe der Zeit vorgenommen.
6
SECONDARY_DOWNLOADING_DATA
Die sekundäre Replikations- oder Failover-Gruppe kopiert die von der primären Gruppe gesendeten Dateien auf das Zielkonto.
7
COMPLETED
/FAILED
/CANCELED
Betriebsstatus aktualisieren
In den Phasen
PRIMARY_UPLOADING_DATA
undSECONDARY_DOWNLOADING_DATA
erfolgt vor der Replikationsoperation eine Schätzung destotalBytesToReplicate
-Werts. Dieser Wert kann von demtotalBytesToUpload
- odertotalBytesToDownload
-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äretotalBytesToUpload
niedriger alstotalBytesToReplicate
.
Beispiele¶
Um den aktuellen Aktualisierungsfortschritt für die Replikationsgruppe rg1
abzurufen, führen Sie die folgende Anweisung aus:
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS('rg1'));
Um den Aktualisierungsfortschritt der Replikationsgruppe über die Abfrage-ID abzurufen, ersetzen Sie die Abfrage-ID im Beispiel und führen Sie die folgende Anweisung aus:
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(
INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB(
'012a3b45-1234-a12b-0000-1aa200012345'));