MetricSign
EN|NLRequest Access
High severitydbt

Power BI Refresh Error:
Database Error: Failed to connect to Snowflake

What does this error mean?

dbt could not connect to Snowflake — incorrect credentials, wrong account identifier, network restrictions, or a suspended warehouse blocks all model runs.

Common causes

  • 1The Snowflake account identifier in profiles.yml is wrong or uses the old format (missing the cloud region suffix)
  • 2The username or password has been changed in Snowflake but not updated in profiles.yml or the dbt Cloud connection settings
  • 3The Snowflake role specified in the profile does not exist or the user has not been granted that role
  • 4The Snowflake warehouse specified in the profile has been dropped or renamed
  • 5MFA or network policies on the Snowflake account require IP allowlisting, and the dbt runner's IP is not allowlisted

How to fix it

  1. 1Run `dbt debug` to test the connection — it will show the specific Snowflake error message.
  2. 2Verify the account identifier: it should be in the format `<account_locator>.<cloud_region>.<cloud>` (e.g., `xy12345.us-east-1.aws`).
  3. 3Test the credentials directly in the Snowflake web UI or SnowSQL to confirm they work.
  4. 4Verify the role and warehouse exist in Snowflake: `SHOW ROLES;` and `SHOW WAREHOUSES;`.
  5. 5Confirm the user has been granted the role: `SHOW GRANTS TO USER <username>;`.
  6. 6If Snowflake has IP allowlisting enabled, add the dbt runner's IP (or dbt Cloud's IP ranges) to the network policy.

Frequently asked questions

Where do I find the correct Snowflake account identifier?

In the Snowflake web UI, go to Admin → Accounts to find the account identifier. Alternatively, run `SELECT CURRENT_ACCOUNT();` in a Snowflake worksheet — it returns the account locator you need.

Official documentation: dbt-docs

Other dbt errors