Dynamische Tabellen anhalten oder fortsetzen¶
Unter diesem Thema wird beschreiben, warum dynamische Tabellen automatisch angehalten werden und wie Sie Ihre dynamischen Tabellen manuell anhalten oder fortsetzen können.
Automatisches Anhalten dynamischer Tabellen¶
Dynamische Tabellen werden nach fünf aufeinanderfolgenden Fehlern bei geplanten Aktualisierungen automatisch angehalten. Eine erfolgreiche Aktualisierung, einschließlich einer manuellen Aktualisierung, setzt die Fehlerzahl auf null zurück. Wenn z. B. bei einer Tabelle zwei aufeinanderfolgende geplante Aktualisierungen fehlschlagen und die nächste erfolgreich ist, wird die Fehlerzahl auf null zurückgesetzt.
Fehler aus manuell ausgelösten Aktualisierungen werden bei diesem Limit nicht mitgezählt.
Alle dynamischen Tabellen, die von einer angehaltenen Tabelle abhängen, werden ebenfalls angehalten.
Sie können den aktuellen Status (ACTIVE oder SUSPENDED) Ihrer dynamischen Tabellen mit einer der folgenden Optionen anzeigen:
Führen Sie die Tabellenfunktion DYNAMIC_TABLE_GRAPH_HISTORY aus:
SELECT name, scheduling_state
FROM TABLE (INFORMATION_SCHEMA.DYNAMIC_TABLE_GRAPH_HISTORY());
In der Ausgabe zeigt die Spalte SCHEDULING_STATE
den Status Ihrer dynamischen Tabelle (ACTIVE oder SUSPENDED):
+-------------------+---------------------------------------------------------------------------------+
| NAME | SCHEDULING_STATE |
|-------------------+---------------------------------------------------------------------------------|
| DTSIMPLE | { |
| | "reason_code": "SUSPENDED_DUE_TO_ERRORS", |
| | "reason_message": "The DT was suspended due to 5 consecutive refresh errors", |
| | "state": "SUSPENDED", |
| | "suspended_on": "2023-06-06 19:27:29.142 -0700" |
| | } |
| DT_TEST | { |
| | "state": "ACTIVE" |
| | } |
+-------------------+---------------------------------------------------------------------------------+
Um den Status Ihrer dynamischen Tabellen zu sehen, melden Sie sich bei Snowsight an. Wählen Sie im Navigationsmenü die Option Monitoring » Dynamic Tables aus.
Auf dieser Seite können Sie den Status und den letzten Aktualisierungsstatus Ihrer dynamischen Tabellen einsehen. Sie können auch nach Datenbank oder Schema filtern, um die Ergebnisse einzugrenzen.
Manuelles Anhalten dynamischer Tabellen¶
Setzen Sie eine dynamische Tabelle manuell aus, wenn Sie sie gerade nicht benötigen, aber die Aktualisierungskosten vermeiden möchten, ohne sie zu löschen, sodass sie für die zukünftige Verwendung verfügbar bleibt. Durch das Anhalten können Sie auch die Aktualisierungshäufigkeit besser steuern, beispielsweise wenn Aussetzer auftreten und Sie Zeit für die Fehlerbehebung benötigen.
Wenn Sie sicherstellen möchten, dass die Aktualisierungen zu einem bestimmten Zeitpunkt oder Ereignis erfolgen, können Sie eine Aufgabe oder ein Skript verwenden, die bzw. das regelmäßig ausgeführt wird, um eine manuelle Aktualisierung durchzuführen, da dynamische Tabellen keinen genauen Aktualisierungszeitpunkt garantieren. So können Sie genau steuern, wann Ihre Tabelle aktualisiert wird.
Sie können entweder den Befehl ALTER DYNAMIC TABLE … SUSPEND oder Snowsight verwenden, um dynamische Tabellen manuell anzuhalten, allerdings mit den folgenden Beschränkungen:
Wenn Sie eine dynamische Tabelle anhalten, werden auch die dynamischen Tabellen angehalten, die <label-dts_upstream_downstream_relationships> nachgelagert sind.
Wenn Sie eine dynamische Tabelle mit inkrementeller Aktualisierung über die Time Travel-Aufbewahrungsfrist ihrer Basistabellen hinaus anhalten, schlägt sie bei der nächsten Aktualisierung nach dem Fortsetzen der dynamischen Tabelle fehl.
ALTER DYNAMIC TABLE my_dynamic_table SUSPEND;
Melden Sie sich bei Snowsight an.
Navigieren Sie zu Monitoring » Dynamic Tables.
Suchen Sie Ihre dynamische Tabelle in der Liste, und wählen Sie dann
» Suspend aus.
Bestätigen Sie in dem Popup-Fenster, dass Sie Ihre dynamische Tabelle anhalten möchten.
Dynamische Tabellen fortsetzen¶
Um Ihre dynamischen Tabellen fortzusetzen, verwenden Sie entweder den Befehl ALTER DYNAMIC TABLE … RESUME oder Snowsight.
ALTER DYNAMIC TABLE my_dynamic_table RESUME;
Melden Sie sich bei Snowsight an.
Navigieren Sie zu Monitoring » Dynamic Tables.
Suchen Sie Ihre dynamische Tabelle in der Liste, und wählen Sie dann
» Resume aus.
Bestätigen Sie in dem Popup-Fenster, dass Sie Ihre dynamische Tabelle fortsetzen möchten.