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
| Field | Description |
|---|
| Account ID | Your Snowflake account identifier. Find this in Snowflake under Admin > Accounts. Example: xy12345.us-east-1 |
| Warehouse | The Snowflake virtual warehouse Datawise uses to run queries. |
| Username | The Snowflake user Datawise connects as. |
| Password | Password for the above user. |
| Role | The Snowflake role assigned to the connecting user. |
| Name | A display name for this connector in Datawise. |
Filters
| Field | Description |
|---|
| Database | Restrict ingestion to specific databases by name. |
| Schemas | Add allow or deny patterns. Supports glob syntax (e.g., prod_*). |
Settings
| Setting | Default | Description |
|---|
| Include Tables | On | Ingest table metadata and schema. |
| Include Views | On | Ingest view metadata. |
| Enable Table Profiling | Off | Collect row counts and column statistics. Increases query load. |
Schedule
| Field | Description |
|---|
| Run on a schedule | Recommended. Without a schedule, schema data goes stale between manual syncs. |
| Schedule | Cron-style schedule. Default: every day at 00:00. |
| Timezone | The 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.