Kategorien:

Information Schema, Tabellenfunktionen

DYNAMIC_TABLES

Diese Tabellenfunktion gibt Metadaten zu dynamische Tabellen zurück, einschließlich der aggregierten Verzögerungsmetriken und des Status der letzten Aktualisierungen innerhalb von 7 Tagen nach dem aktuellen Zeitpunkt.

Syntax

DYNAMIC_TABLES (
  [ NAME => '<string>' ]
  [ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
  [ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
Copy

Argumente

Alle Argumente sind optional. Wenn keine Argumente angegeben werden, werden 100 Aktualisierungen aus allen dynamischen Tabellen des Kontos zurückgegeben.

NAME => 'string'

Der Name einer dynamischen Tabelle.

Die Namen müssen in einfachen Anführungszeichen stehen, wobei Groß-/Kleinschreibung nicht berücksichtigt wird.

Sie können den nicht qualifizierten Namen (dynamic_table_name), den teilweise qualifizierten Namen (schema_name.dynamic_table_name) oder den vollqualifizierten Namen (database_name.schema_name.dynamic_table_name) angeben.

Weitere Informationen zur Auflösung von Objektnamen finden Sie unter Auflösung von Objektnamen.

Die Funktion gibt die Metadaten für diese Tabelle zurück.

REFRESH_DATA_TIMESTAMP_START => constant_expr

Zeitpunkt (im TIMESTAMP_LTZ-Format) der Berechnung von Metriken in Bezug auf die Zielverzögerung der dynamischen Tabelle. Beinhaltet alle Aktualisierungen mit einem LATEST_DATA_TIMESTAMP-Wert größer oder gleich dem REFRESH_DATA_TIMESTAMP_START-Wert.

Standard: Alle Aktualisierungen im Aktualisierungsverlauf werden 7 Tage lang aufbewahrt.

RESULT_LIMIT => integer

Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden.

Wenn die Anzahl der übereinstimmenden Zeilen größer als dieser Grenzwert ist, werden die Aktualisierungen mit der jüngsten Endzeit (oder Aktualisierungen, die noch ausgeführt werden) zurückgegeben – bis zum angegebenen Grenzwert.

Bereich: 1 bis 10000

Standard: 100.

INCLUDE_CONNECTED => { TRUE | FALSE }

Bei TRUE gibt die Funktion Metadaten für alle dynamischen Tabellen zurück, die mit der durch das Argument NAME angegebenen dynamischen Tabelle verbunden sind.

Sie müssen das NAME-Argument angeben, dürfen aber nicht das RESULT_LIMIT-Argument angeben.

Standard: FALSE

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Um diese Spalten anzuzeigen, müssen Sie eine Rolle mit der Berechtigung MONITOR verwenden. Andernfalls gibt die Funktion nur einen Wert für NAME, SCHEMA_NAME, DATABASE_NAME und QUALIFIED_NAME zurück. Weitere Informationen zu Berechtigungen für dynamische Tabellen finden Sie unter Berechtigung zum Anzeigen der Metadaten einer dynamischen Tabelle.

Spaltenname

Datentyp

Beschreibung

NAME

TEXT

Name der dynamischen Tabelle.

SCHEMA_NAME

TEXT

Name des Schemas, das die dynamische Tabelle enthält.

DATABASE_NAME

TEXT

Name der Datenbank, die die dynamische Tabelle enthält.

QUALIFIED_NAME

TEXT

Vollqualifizierter Name der dynamischen Tabelle.

TARGET_LAG_SEC

NUMBER

Zielverzögerungszeit in Sekunden für diese dynamische Tabelle. Dies ist der Wert, der im Parameter TARGET_LAG der dynamischen Tabelle angegeben ist.

TARGET_LAG_TYPE

TEXT

Typ der Zielverzögerung. Kann einer der folgenden Werte sein:

  • USER_DEFINED: Bestimmt durch den Parameter TARGET_LAG, der für die dynamische Tabelle angegeben wurde.

  • DOWNSTREAM: Enthält eine dynamische Tabelle mit einer DOWNSTREAM-Zielverzögerung.

SCHEDULING_STATE

OBJECT

OBJECT, das aus Folgendem besteht:

  • STATE (TEXT): Zeitplanungsstatus (RUNNING oder SUSPENDED).

  • REASON_CODE (TEXT): Gibt den Code für den Grund an, warum die dynamische Tabelle nicht ausgeführt wird.

  • REASON_MESSAGE (TEXT): Textbeschreibung des Grundes, warum die dynamische Tabelle nicht ausgeführt wird. Gilt nur, wenn sich die dynamische Tabelle nicht im Zustand RUNNING befindet.

  • SUSPENDED_ON (TIMESTAMP_LTZ): Optionaler Zeitstempel für den Zeitpunkt, wann die dynamische Tabelle ausgesetzt wurde. Gilt nur, wenn sich die dynamische Tabelle im Zustand SUSPENDED befindet.

  • RESUMED_ON (TIMESTAMP_LTZ): Zeitstempel für den Zeitpunkt, wann die dynamische Tabelle zuletzt fortgesetzt wurde. Gilt nur, wenn sich die dynamische Tabelle im Zustand RUNNING befindet.

MEAN_LAG_SEC

NUMBER

Die mittlere Verzögerungszeit (in Sekunden) von Aktualisierungen dieser dynamischen Tabelle.

MAXIMUM_LAG_SEC

NUMBER

Die maximale Verzögerungszeit in Sekunden von Aktualisierungen dieser dynamischen Tabelle.

TIME_ABOVE_TARGET_LAG_SEC

NUMBER

Die Zeitdauer in Sekunden in der Aufbewahrungsfrist oder seit der letzten Konfigurationsänderung, in der die tatsächliche Verzögerung größer war als die definierte Zielverzögerung.

TIME_WITHIN_TARGET_LAG_RATIO

NUMBER

Der Zeitanteil in der Aufbewahrungsfrist oder seit der letzten Konfigurationsänderung, in der die tatsächliche Verzögerung innerhalb der Zielverzögerung liegt.

LATEST_DATA_TIMESTAMP

TIMESTAMP_LTZ

Zeitstempel der letzten erfolgreichen Aktualisierung der Daten.

LAST_COMPLETED_REFRESH_STATE

TEXT

Status der letzten abgeschlossenen Aktualisierung der dynamischen Tabelle. Kann einer der folgenden Werte sein:

  • SUCCEEDED: Aktualisierung erfolgreich abgeschlossen.

  • FAILED: Aktualisierung während der Ausführung fehlgeschlagen.

  • UPSTREAM_FAILED: Aktualisierung wurde aufgrund einer fehlgeschlagenen Upstream-Aktualisierung nicht ausgeführt.

  • CANCELLED: Aktualisierung wurde vor der Ausführung abgebrochen.

LAST_COMPLETED_REFRESH_STATE_CODE

TEXT

Code, der den aktuellen Status der Aktualisierung angibt.

Wenn der LAST_COMPLETED_REFRESH_STATE-Zustand FAILED ist, wird in dieser Spalte der mit dem Fehler verbundene Fehlercode angezeigt.

LAST_COMPLETED_REFRESH_STATE_MESSAGE

TEXT

Beschreibung des aktuellen Status der Aktualisierung.

Wenn der LAST_COMPLETED_REFRESH_STATE-Zustand FAILED ist, wird in dieser Spalte die mit dem Fehler verbundene Fehlermeldung angezeigt.

EXECUTING_REFRESH_QUERY

TEXT

Falls vorhanden, ist dies die Abfrage-ID des Aktualisierungsjobs. Wenn null, ist kein Aktualisierungsjob in Ausführung.

Nutzungshinweise

  • 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.

Beispiele

Abrufen der Namen, der Verzögerungsinformationen und der Zeitstempel der letzten erfolgreichen Aktualisierung für alle dynamischen Tabellen, die mit der angegebenen dynamischen Tabelle verbunden sind.

SELECT
  name,
  target_lag_sec,
  mean_lag_sec,
  latest_data_timestamp
FROM
  TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLES (
      NAME => 'mydb.myschema.mydt',
      INCLUDE_CONNECTED => TRUE
    )
  )
ORDER BY
  target_lag_sec
Copy