Kategorien:

Information Schema, Tabellenfunktionen

DATABASE_REFRESH_PROGRESS , DATABASE_REFRESH_PROGRESS_BY_JOB

Mit der Funktionsfamilie DATABASE_REFRESH_PROGRESS kann der Status einer Datenbankaktualisierung in verschiedenen Dimensionen abgefragt werden:

  • DATABASE_REFRESH_PROGRESS gibt ein JSON-Objekt zurück, das den aktuellen Aktualisierungsstatus für eine sekundäre Datenbank nach Namen angibt.

  • DATABASE_REFRESH_PROGRESS_BY_JOB gibt ein JSON-Objekt zurück, das den aktuellen Aktualisierungsstatus für eine sekundäre Datenbank durch eine Aktualisierungsabfrage angibt.

Jede Funktion ist für die Abfrage anhand der angegebenen Dimension optimiert.

Bemerkung

  • DATABASE_REFRESH_PROGRESS gibt nur die Datenbankaktualisierungsaktivität für die letzte Datenbankaktualisierung zurück, wenn diese innerhalb der letzten 14 Tage stattfand.

  • DATABASE_REFRESH_PROGRESS_BY_JOB gibt die Datenbankaktualisierungsaktivitäten der letzten 14 Tage zurück.

Siehe auch:

DATABASE_REFRESH_HISTORY

Syntax

DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )

DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Argumente

secondary_db_name

Name der sekundären Datenbank. Dieses Argument ist optional, wenn die sekundäre Datenbank die aktive Datenbank der aktuellen Sitzung ist.

Beachten Sie, dass der gesamte Name in einfache Anführungszeichen gesetzt werden muss.

query_id

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

Nutzungshinweise

  • Gibt nur Ergebnisse für Kontoadministratoren (Benutzer mit der Rolle ACCOUNTADMIN) 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_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. COMPLETED / FAILED / CANCELED

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.

RESULT

TEXT

Status der Replikationsphase. Gültige Zustände sind EXECUTING, SUCCEEDED, CANCELLED und FAILED.

START_TIME

NUMBER

Zeitpunkt, zu dem die Replikationsphase begann. Das Format ist die Epochenzeit.

END_TIME

NUMBER

Zeitpunkt, zu dem die Phase beendet ist, falls anwendbar. Das Format ist die Epochenzeit.

DETAILS

VARIANT

Nur von Funktion DATABASE_REFRESH_PROGRESS zurückgegeben. Ein JSON-Objekt, das detaillierte Informationen für die folgenden Phasen bereitstellt: . - Primäres Hochladen von Daten: Zeitstempel des aktuellen Snapshots der primären Datenbank. . - Primäres Hochladen von Daten und Sekundäres Herunterladen von Daten: Gesamtzahl der Bytes der Datenbankaktualisierung sowie Anzahl der bisher in der Phase kopierten Bytes. . - Sekundäres Herunterladen von Metadaten: Anzahl der Tabellen, Tabellenspalten und aller Datenbankobjekte (einschließlich Tabellen und Tabellenspalten) im neuesten Snapshot der Primärdatenbank.

Beispiele

Abrufen des aktuellen Fortschritts der Datenbankaktualisierung für die Datenbank mydb1:

select *
from table(information_schema.database_refresh_progress(mydb1));
Copy

Abrufen des aktuellen Fortschritts einer Datenbankaktualisierung nach Abfrage-ID:

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