- Kategorien:
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 } ]
)
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
bis10000
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:
|
SCHEDULING_STATE |
OBJECT |
OBJECT, das aus Folgendem besteht:
|
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:
|
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