MetricSign
EN|NLRequest Access
High severityconfiguration

Power BI Refresh Error:
SnapshotCheckStrategyError

What does this error mean?

A dbt snapshot using the check strategy failed because the check_cols configuration is missing, contains columns not present in the source table, or the strategy encountered a data type incompatibility when comparing column values.

Common causes

  • 1check_cols is set to a list that includes a column that was dropped from the upstream source table in a schema change
  • 2check_cols: all is used but one or more columns in the source contain data types that cannot be compared (e.g., JSON blobs or nested types on some adapters)
  • 3The check_cols list was not updated after a column was renamed in the source, causing dbt to fail when it cannot find the old column name

How to fix it

  1. 1Step 1: Run DESCRIBE TABLE <source_table> or dbt show --select <source_model> to list the current columns and verify all check_cols entries exist.
  2. 2Step 2: Update the snapshot YAML or config block to remove or replace any check_cols entries that reference dropped or renamed columns.
  3. 3Step 3: If using check_cols: all and encountering type comparison errors, switch to an explicit list of comparable scalar columns to avoid comparing incompatible types.
  4. 4Step 4: After fixing the configuration, run dbt snapshot to verify the snapshot executes cleanly.

Frequently asked questions

Does dbt automatically detect schema changes in check_cols?

No. dbt does not automatically validate that check_cols entries exist in the source schema before running. Schema validation is only enforced at query execution time, when the missing column produces a SQL error.

Can I use check_cols: all safely with Snowflake variants?

Using check_cols: all with VARIANT or OBJECT columns in Snowflake can produce unpredictable comparison results because Snowflake's equality check on semi-structured types may not match field-level changes. Prefer explicit scalar column lists for reliable change detection.

Other configuration errors