Dynamische Tabellen manuell aktualisieren

You can manually refresh a dynamic table to include the latest data without waiting for the next scheduled refresh. This is useful for one-time updates or when a table has a large target lag and the next refresh occurs much later.

Tipp

Vermeiden Sie manuelle Aktualisierungen dynamischer Tabellen mit nachgelagerten dynamischen Tabellen, von denen erwartet wird, dass sie gemäß der Zielverzögerung aktualisiert werden. Diese Art von manuellen Aktualisierungen kann dazu führen, dass geplante Aktualisierungen übersprungen werden und die Aktualisierung nachgelagerter Tabellen verhindert wird.

To manually refresh, use the ALTER DYNAMIC TABLE … REFRESH command or Snowsight as shown in the following steps:

ALTER DYNAMIC TABLE my_dynamic_table REFRESH
Copy

Für Situationen, die einen genauen Zeitpunkt für die Aktualisierung erfordern, wie z. B. um Aktualisierungen an Zeitplänen des externen Systems oder an Fenstern für die Batchverarbeitung auszurichten, können Sie eine Aufgabe mit einem CRON-Ausdruck verwenden, um die Aktualisierung auszulösen.

Beispiel:

-- Create the task
CREATE TASK my_dt_refresh_task
  WAREHOUSE = my_wh
  SCHEDULE = 'USING CRON 0 0 * * * America/Los_Angeles' -- Example: daily at midnight PST
  COMMENT = 'Daily 5pm PT manual refresh of my_dynamic_table'
  AS
    ALTER DYNAMIC TABLE my_dynamic_table REFRESH;

-- Enable the task
ALTER TASK my_dt_refresh_task RESUME;

-- Show the task
SHOW TASKS LIKE 'my_dt_refresh_task';
Copy
+------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------|-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------|-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------+
| CREATED_ON | NAME            | ID                                  | DATABASE_NAME | SCHEMA_NAME | OWNER        | COMMENT                                         | WAREHOUSE | SCHEDULE                                  | [ ] PREDECESSORS | STATE   | DEFINITION                                   | CONDITION | ALLOW_OVERLAPPING_EXECUTION | ERROR_INTEGRATION | LAST_COMMITTED_ON             | LAST_SUSPENDED_ON | OWNER_ROLE_TYPE | CONFIG | TASK_RELATIONS      | LAST_SUSPENDED_REASON | SUCCESS_INTEGRATION | SCHEDULING_MODE | TARGET_COMPLETION_INTERVAL | EXECUTE_AS_USER |
|------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------+-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------+-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------|
| 2025-10-02 | DT_REFRESH_TASK | 01bf6f0d-690f-f373-0000-000000025e3d| mydb          | my_schema   | ACCOUNTADMIN | Daily 5pm PT manual refresh of my_dynamic_table | mywh      | USING CRON 0 17 * * * America/Los_Angeles | []               | Started | ALTER DYNAMIC TABLE my_dynamic_table REFRESH | null      | false                       | null              | 2025-10-02 05:08:52.897 +0000 | null              | ROLE            | null   | {"Predecessors":[]} | null                  | null                | null            | null                       | null            |
+------------+-----------------+-------------------------------------+---------------+-------------+--------------+-------------------------------------------------+-----------|-------------------------------------------+------------------+---------+----------------------------------------------+-----------+-----------------------------+-------------------+-------------------------------|-------------------+-----------------+--------+---------------------+-----------------------+---------------------+-----------------+----------------------------+-----------------+

In den meisten Fällen empfiehlt Snowflake die Verwendung von Zielverzögerungen, die die Aktualisierungshäufigkeit optimieren und die Kosten im Vergleich zu festen CRON-Zeitplänen senken können, die unnötigerweise ausgeführt werden könnten.