Kategorien:

Information Schema, Tabellenfunktionen

REPLICATION_GROUP_REFRESH_HISTORY, REPLICATION_GROUP_REFRESH_HISTORY_ALL

Sie können die REPLICATION_GROUP_REFRESH_HISTORY-Familie von Tabellenfunktionen zur Abfrage des Replikationsverlaufs für eine sekundäre Replikations- oder Failover-Gruppe oder alle diese Gruppen verwenden.

Standardmäßig (wenn keine Argumente für Datumsbereiche angegeben werden) geben diese Funktionen Daten für die letzten 12 Stunden zurück. Sie können die optionale Argumente DATE_RANGE_START und``DATE_RANGE_END`` zur Abfrage eines kundenspezifischen Bereichs innerhalb des 14-tägigen Aufbewahrungsfensters verwenden.

Siehe auch:

Ansicht REPLICATION_GROUP_REFRESH_HISTORY

Syntax

REPLICATION_GROUP_REFRESH_HISTORY(
      '<secondary_group_name>'
      [ , DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ] )

REPLICATION_GROUP_REFRESH_HISTORY_ALL(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ] )

Argumente

'secondary_group_name'

Name der sekundären Gruppe. Der gesamte Name muss in einfache Anführungszeichen gesetzt werden. Erforderlich für REPLICATION_GROUP_REFRESH_HISTORY. Nicht verwendet mit REPLICATION_GROUP_REFRESH_HISTORY_ALL.

Die folgenden Argumente sind für beide Funktionen optional.

DATE_RANGE_START => constant_expr, . DATE_RANGE_END => constant_expr

Der Datums-/Uhrzeitbereich, für den der Replikationsaktualisierungsverlauf 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_HISTORY_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_HISTORY_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 FAILOVER oder REPLICATION. Gilt nur für REPLICATION_GROUP_REFRESH_HISTORY_ALL.

PHASE_NAME

TEXT

Aktuelle Phase der Replikationsoperation. Eine Liste der Phasen finden Sie in den Nutzungshinweisen.

START_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem die Replikationsoperation gestartet wurde.

END_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem die Replikationsoperation ggf. beendet wurde. NULL, wenn sie sich noch in Ausführung befindet.

JOB_UUID

TEXT

Abfrage-ID des Aktualisierungsjobs.

TOTAL_BYTES

VARIANT

Ein JSON-Objekt, das detaillierte Informationen zu aktualisierten Datenbanken bereitstellt:

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

  • bytesUploaded: Tatsächliche Anzahl der hochgeladenen Bytes.

  • bytesDownloaded: Tatsächliche Anzahl der heruntergeladenen Bytes.

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

    • name: Name der Datenbank.

    • totalBytesToReplicate: Summe der Bytes, die voraussichtlich für die Datenbank repliziert werden.

OBJECT_COUNT

VARIANT

Ein JSON-Objekt, das detaillierte Informationen zu aktualisierten Objekten bereitstellt:

  • totalObjects: Gesamtzahl der Objekte in der Replikations- oder Failover-Gruppe.

  • completedObjects: Gesamtzahl der verarbeiteten Objekte.

  • objectTypes: Liste von JSON-Objekten mit folgenden Feldern für jeden Typ:

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

    • totalObjects: Gesamtzahl der Objekte dieses Typs in der Replikations- oder Failover-Gruppe.

    • completedObjects: Gesamtzahl der Objekte dieses Typs, die verarbeitet wurden.

PRIMARY_SNAPSHOT_TIMESTAMP

TIMESTAMP_LTZ

Zeitstempel, wann der primäre Snapshot erstellt wurde.

ERROR

VARIANT

NULL wenn die Aktualisierungsoperation erfolgreich war. Wenn die Aktualisierungsoperation fehlschlägt, wird ein JSON-Objekt zurückgegeben, das detaillierte Informationen zu dem Fehler enthält:

  • errorCode: Fehlercode des Fehlers.

  • errorMessage: Fehlermeldung des Fehlers.

Nutzungshinweise

  • Wenn keine Argumente des Typs DATE_RANGE_START oder``DATE_RANGE_END`` angegeben werden, geben die Funktionen 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.

  • Im Folgenden finden Sie eine Liste der Phasen in der Reihenfolge ihrer Bearbeitung:

    #

    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

Beispiele

Um den Aktualisierungsverlauf für die sekundäre Gruppe myfg abzurufen, führen Sie die folgende Anweisung aus.

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY('myfg')
  );

Um den Aktualisierungsverlauf der letzten 12 Stunden (Standard) für alle Failover-Gruppen und Replikationsgruppen abzurufen, führen Sie die folgende Anweisung aus:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY_ALL()
  );

Abrufen des Aktualisierungsverlaufs der letzten 7 Tage für alle Gruppen:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY_ALL(
          DATE_RANGE_START => DATEADD(D, -7, CURRENT_DATE),
          DATE_RANGE_END => CURRENT_DATE)
  );

Abrufen des Aktualisierungsverlaufs für einen bestimmten Datumsbereich für die sekundäre Gruppe myfg:

SELECT phase_name, start_time, end_time,
       total_bytes, object_count, error
  FROM TABLE(
      INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY(
          'myfg',
          DATE_RANGE_START => '2025-04-01',
          DATE_RANGE_END => '2025-04-07')
  );