Skip to main content
Connect Datawise to Snowflake to enable Schema Radar detection and warehouse-level lineage.

Prerequisites

Before connecting, make sure you have:
  • A Snowflake account with a user that has USAGE on the target warehouse and SELECT on INFORMATION_SCHEMA in the target databases.
  • The account identifier for your Snowflake instance (format: orgname-accountname or the legacy account.region format).
  • The warehouse name, role, username, and password for the connecting user.
Create a dedicated Datawise service user in Snowflake rather than using a personal account. This avoids disruption if credentials are rotated.

Required Permissions

Datawise only reads schema metadata and does not access the data in your tables. Grant access only to the schemas you want Datawise to monitor. You can use the allow and deny pattern filters in the connector form to further control what gets ingested.
Option 1: All schemas (easiest, good for initial setup)
-- Create a dedicated role
CREATE ROLE datawise_role;

-- Grant warehouse usage
GRANT USAGE ON WAREHOUSE <your_warehouse> TO ROLE datawise_role;

-- Grant database and schema access
GRANT USAGE ON DATABASE <your_database> TO ROLE datawise_role;
GRANT USAGE ON ALL SCHEMAS IN DATABASE <your_database> TO ROLE datawise_role;
GRANT SELECT ON ALL TABLES IN DATABASE <your_database> TO ROLE datawise_role;
GRANT SELECT ON ALL VIEWS IN DATABASE <your_database> TO ROLE datawise_role;
GRANT SELECT ON FUTURE TABLES IN DATABASE <your_database> TO ROLE datawise_role;
GRANT SELECT ON FUTURE VIEWS IN DATABASE <your_database> TO ROLE datawise_role;

-- Assign role to user
GRANT ROLE datawise_role TO USER <your_datawise_user>;
ALTER USER <your_datawise_user> SET DEFAULT_ROLE = datawise_role;
Option 2: Specific schemas only (recommended for production)
-- Create a dedicated role
CREATE ROLE datawise_role;

-- Grant warehouse usage
GRANT USAGE ON WAREHOUSE <your_warehouse> TO ROLE datawise_role;

-- Grant database access
GRANT USAGE ON DATABASE <your_database> TO ROLE datawise_role;

-- Grant access to specific schemas only
GRANT USAGE ON SCHEMA <your_database>.<your_schema> TO ROLE datawise_role;
GRANT SELECT ON ALL TABLES IN SCHEMA <your_database>.<your_schema> TO ROLE datawise_role;
GRANT SELECT ON ALL VIEWS IN SCHEMA <your_database>.<your_schema> TO ROLE datawise_role;
GRANT SELECT ON FUTURE TABLES IN SCHEMA <your_database>.<your_schema> TO ROLE datawise_role;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA <your_database>.<your_schema> TO ROLE datawise_role;
-- Repeat for each schema you want Datawise to monitor

-- Assign role to user
GRANT ROLE datawise_role TO USER <your_datawise_user>;
ALTER USER <your_datawise_user> SET DEFAULT_ROLE = datawise_role;
For production environments, use Option 2. Grant Datawise access only to the schemas you want monitored. This follows the principle of least privilege and limits Datawise’s footprint to exactly what your team has decided to track. You can always add more schemas later by running additional GRANT statements.

Connection Setup

Go to Connectors in the left navigation, click Add Connector, and select Snowflake.

Required Fields

FieldDescription
Account IDYour Snowflake account identifier. Find this in Snowflake under Admin > Accounts. Example: xy12345.us-east-1
WarehouseThe Snowflake virtual warehouse Datawise uses to run queries.
UsernameThe Snowflake user Datawise connects as.
PasswordPassword for the above user.
RoleThe Snowflake role assigned to the connecting user.
NameA display name for this connector in Datawise.

Filters

FieldDescription
DatabaseRestrict ingestion to specific databases by name.
SchemasAdd allow or deny patterns. Supports glob syntax (e.g., prod_*).

Settings

SettingDefaultDescription
Include TablesOnIngest table metadata and schema.
Include ViewsOnIngest view metadata.
Enable Table ProfilingOffCollect row counts and column statistics. Increases query load.

Schedule

FieldDescription
Run on a scheduleRecommended. Without a schedule, schema data goes stale between manual syncs.
ScheduleCron-style schedule. Default: every day at 00:00.
TimezoneThe timezone used to evaluate the schedule.

Testing the Connection

After filling in your credentials, click Test Connection. If the test fails, check:
  • The account identifier format. Common issue: using account.region when your org uses the newer orgname-accountname format.
  • That the role is granted and set as the default for the user.
  • That the warehouse is not suspended and the user has USAGE on it.

After Connecting

Once connected and the first ingestion runs:
  • Tables and views from the connected schemas appear in Data Assets.
  • Schema Radar begins detecting schema changes on your configured schedule.
  • Lineage from Snowflake populates when dbt Cloud is also connected.
Trigger a manual sync at any time from the Connectors page by clicking Run Now.