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
- 1Verify the source table exists: `SELECT COUNT(*) FROM <database>.<schema>.<table>` using the dbt service account credentials.
- 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).
- 3Grant SELECT on the source table to the dbt service account: `GRANT SELECT ON <schema>.<table> TO ROLE <dbt_role>;`
- 4If the source is in a different database, add the `database:` key explicitly to the source definition in sources.yml.
- 5Run `dbt debug` to verify the connection and permissions before re-running the freshness check.