Overview

Database form

In order to connect to a Snowflake database, you will need a user account in Snowflake with permissions to access your data. Then, in the app, enter the account identifier, database, user and password to let Steep connect to your database.

Account Identifier
Example: myorg-account123
See the Snowflake documentation for how to find your account identifier.

Database
Example: MY_COMPANY

User
Example: steep

Password
Example: ******

Setting up a user account in Snowflake

We recommend that you create a new user and role specifically for Steep. This is best done in a worksheet in the Snowflake console. See below for a step-by-step guide.

1. New worksheet

Head to the Snowflake console, navigate to Worksheets and create a new worksheet.

2. Create role and user

Example SQL script below. Please replace all <brackets> with your details.

-- Create Role
CREATE ROLE IF NOT EXISTS STEEP;
GRANT USAGE ON WAREHOUSE <COMPUTE_WH> TO ROLE STEEP;
GRANT USAGE ON DATABASE <MY_DATABASE> TO ROLE STEEP;
GRANT USAGE ON SCHEMA <MY_SCHEMA> TO ROLE STEEP;
GRANT SELECT ON ALL TABLES IN SCHEMA <MY_SCHEMA> TO ROLE STEEP;

-- Create User
CREATE USER IF NOT EXISTS steep PASSWORD = '<unique-password>' MUST_CHANGE_PASSWORD = FALSE DEFAULT_ROLE = STEEP;
GRANT ROLE STEEP TO USER steep;
ALTER USER steep SET DEFAULT_WAREHOUSE = <COMPUTE_WH>;

3. Enter credentials in Steep

Copy the user and password to the corresponding fields in the Steep database form. Test the connection to make sure things are working fine.

Troubleshooting

I could successfully connect my database but when fetching tables I get the following error No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.

Make sure the user used has a default warehouse set as described above, and that it is the correct one. Also double check that the role has usage granted on that same warehouse.

I could successfully connect my database but when fetching tables I get the following error Cannot perform SELECT. This session does not have a current database. Call 'USE DATABASE', or use a qualified name.

The database you entered in the data source configuration cannot be found. Make sure the database name entered is the correct one. Make sure the user has DEFAULT_ROLE set as in example script above. Make sure the role used has the correct grants on warehouse, database and schema.