MetricSign
EN|NLRequest Access
High severityinfrastructure

Power BI Refresh Error:
FreshnessError: source not reachable

What does this error mean?

dbt's source freshness command could not query the source table to check its freshness because the table does not exist, the source schema is inaccessible, or the dbt service account lacks permission to read the source. The freshness check fails with a database error rather than a stale-data result.

Common causes

  • 1The source table does not exist in the warehouse — it may have been dropped, renamed, or the source definition in sources.yml points to the wrong schema or table name
  • 2The dbt service account lacks SELECT permission on the source schema or table
  • 3The source schema is in a different database than the dbt profile's default database and the full qualified name is not specified in sources.yml
  • 4A warehouse-level outage or maintenance window made the source schema temporarily unreachable
  • 5The source table is in a different Snowflake account or BigQuery project and cross-account access is not configured

How to fix it

  1. 1Verify the source table exists: `SELECT COUNT(*) FROM <database>.<schema>.<table>` using the dbt service account credentials.
  2. 2Check the `database:`, `schema:`, and `name:` keys in sources.yml match the exact schema and table name in the warehouse (case-sensitive for some warehouses).
  3. 3Grant SELECT on the source table to the dbt service account: `GRANT SELECT ON <schema>.<table> TO ROLE <dbt_role>;`
  4. 4If the source is in a different database, add the `database:` key explicitly to the source definition in sources.yml.
  5. 5Run `dbt debug` to verify the connection and permissions before re-running the freshness check.

Frequently asked questions

How is this different from a regular Source Freshness Error?

A regular freshness error means the source was queryable but the data was stale. A 'not reachable' error means the freshness check itself failed — dbt could not even run the query to check the timestamp.

Will models still run after a source-not-reachable freshness error?

It depends on how the dbt Cloud job is configured. If `dbt source freshness` is a separate step and the job continues on freshness failure, models will run. If freshness is gating, the job stops.

Other infrastructure errors