MetricSign
EN|NLRequest Access
High severityexecution

Power BI Refresh Error:
DYNAMIC_TABLE_TARGET_LAG_EXCEEDED

What does this error mean?

A Snowflake dynamic table failed to refresh within its configured target lag, meaning downstream consumers are reading data that is older than the defined freshness SLA.

Common causes

  • 1The base table query is too complex to complete within the target lag window
  • 2The warehouse was suspended or at maximum queue depth during the scheduled refresh
  • 3A large data volume change in the base table caused a full refresh instead of incremental
  • 4The target lag was set too aggressively for the underlying query complexity

How to fix it

  1. 1Step 1: Check the dynamic table refresh history: SELECT * FROM INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY WHERE NAME = 'table_name'.
  2. 2Step 2: If the warehouse was suspended, ensure auto-resume is enabled or increase the warehouse size.
  3. 3Step 3: Optimize the base query — add filters, reduce joins, or use incremental refresh logic.
  4. 4Step 4: Increase the target lag to be more realistic: ALTER DYNAMIC TABLE table_name SET TARGET_LAG = '10 minutes'.
  5. 5Step 5: Add a Snowflake task or alert to notify when lag exceeds threshold before it affects consumers.

Frequently asked questions

What is the minimum target lag for a Snowflake dynamic table?

The minimum target lag is 1 minute for most dynamic tables. Downstream dynamic tables in a pipeline chain must have a target lag at least as large as their upstream dependencies.

Does Snowflake charge for dynamic table refreshes?

Yes — dynamic table refreshes consume compute credits from the warehouse assigned to the dynamic table. Frequent refreshes on complex tables can accumulate significant costs.

Other execution errors