- Kategorien:
REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB, REPLICATION_GROUP_REFRESH_PROGRESS_ALL¶
Sie können die REPLICATION_GROUP_REFRESH_PROGRESS-Familie von Tabellenfunktionen verwenden, um den Status von Aktualisierungsoperationen für Replikations- oder Failover-Gruppen abzufragen:
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.
REPLICATION_GROUP_REFRESH_PROGRESS_ALL gibt ein JSON-Objekt zurück, das den Aktualisierungsstatus für alle sekundären Replikations- und Failover-Gruppen anzeigt.
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 und REPLICATION_GROUP_REFRESH_PROGRESS_ALL geben die Aktualisierungsaktivitäten der Replikations- oder Failover-Gruppe der letzten 14 Tage zurück. Standardmäßig (wenn keine Argumente für Datumsbereiche angegeben werden) gibt REPLICATION_GROUP_REFRESH_PROGRESS_ALL Daten für die letzten 12 Stunden zurück. Verwenden Sie die optionale Argumente
DATE_RANGE_STARTundDATE_RANGE_ENDzur Abfrage eines kundenspezifischen Bereichs innerhalb des 14-tägigen Aufbewahrungsfensters.
Syntax¶
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.
Die folgenden Argumente sind für REPLICATION_GROUP_REFRESH_PROGRESS_ALL optional.
DATE_RANGE_START => constant_expr, .DATE_RANGE_END => constant_exprDer Datums-/Uhrzeitbereich, für den der Aktualisierungsfortschritt der Replikation zurückgegeben werden soll.
Wenn weder Start- noch Enddatum angegeben sind, werden standardmäßig die letzten 12 Stunden verwendet.
Wenn ein Startdatum, aber kein Enddatum angegeben ist, wird CURRENT_DATE um Mitternacht als Ende des Bereichs verwendet.
Wenn ein Enddatum, aber kein Startdatum angegeben ist, beginnt der Bereich 12 Stunden vor dem Start von
DATE_RANGE_END.
Daten werden 14 Tage lang aufbewahrt. Wenn der angeforderte Bereich über das 14-tägige Aufbewahrungsfenster hinausgeht, gibt die Funktion einen Fehler zurück.
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück: REPLICATION_GROUP_REFRESH_PROGRESS_ALL hat zusätzliche Spalten, die die ersten beiden Spalten im Resultset sind.
Spaltenname |
Datentyp |
Beschreibung |
|---|---|---|
GROUP_NAME |
TEXT |
Gibt an, welche sekundäre Replikations- oder Failover-Gruppe dieser Zeile im Resultset entspricht. Gilt nur für REPLICATION_GROUP_REFRESH_PROGRESS_ALL. |
GROUP_TYPE |
TEXT |
Gibt an, ob die Gruppe, die dieser Zeile im Resultset entspricht, eine Failover-Gruppe oder eine Replikationsgruppe ist. Der Wert ist entweder |
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¶
Wenn keine Argumente des Typs
DATE_RANGE_STARToder``DATE_RANGE_END`` angegeben werden, gibt REPLICATION_GROUP_REFRESH_PROGRESS_ALL Daten für die letzten 12 Stunden zurück. Um Daten abzurufen, die über die letzten 12 Stunden hinausgehen, geben Sie den Datumsbereich explizit an. Die Daten sind bis zu 14 Tage lang verfügbar.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_MEMBERSHIPDie 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_INVENTORYDie sekundäre Replikations- oder Failover-Gruppe sendet eine Bestandsliste ihrer Objekte im Zielkonto an die primäre Gruppe.
3
PRIMARY_UPLOADING_METADATADie primäre Replikations- oder Failover-Gruppe erstellt einen Snapshot der Metadaten im Quellkonto und sendet ihn an die sekundäre Gruppe.
4
PRIMARY_UPLOADING_DATADie 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_METADATADie 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_DATADie sekundäre Replikations- oder Failover-Gruppe kopiert die von der primären Gruppe gesendeten Dateien auf das Zielkonto.
7
COMPLETED/FAILED/CANCELEDBetriebsstatus aktualisieren
In den Phasen
PRIMARY_UPLOADING_DATAundSECONDARY_DOWNLOADING_DATAerfolgt 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_DATAvon einer vorherigen Replikationsoperation einige Bytes hochgeladen wurden, die Operation aber vorzeitig abgebrochen wurde, werden diese Bytes nicht erneut hochgeladen. In diesem Fall wäretotalBytesToUploadniedriger alstotalBytesToReplicate.
Beispiele¶
Um den aktuellen Aktualisierungsfortschritt für die Replikationsgruppe rg1 abzurufen, führen Sie die folgende Anweisung aus:
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:
Um den Aktualisierungsfortschritt der letzten 12 Stunden (Standard) für alle Failover-Gruppen und Replikationsgruppen abzurufen, führen Sie die folgende Anweisung aus:
Abrufen des Aktualisierungsfortschritts der letzten 7 Tage für alle Gruppen: