Skip to main content
Community Hub

Preflight checks for Snowflake

TL;DR

Before [running the Snowflake crawler](/apps/connectors/data-warehouses/snowflake/how-tos/crawl-snowflake), you can run [preflight checks](/product/conne.

Your AI can read this via Docs MCPcurl -fsSL "https://docs.atlan.com/install-docs-mcp" | bashConnect

Before running the Snowflake crawler, you can run preflight checks to perform the necessary technical validations. The following preflight checks are completed:

Database and schema check​

Information schema​

✅ Check successful

❌ Check failed for $missingObjectName

Account usage​

✅ Check successful

❌ Check failed for $missingObjectName

Warehouse access​

✅ Check successful

❌ Operation cannot be performed / User is not authorized to perform this action / Cannot be resumed because resource monitor has exceeded its quota

Tag regex check​

This check runs only when Import Tags is on and you've set Include tag regex or Exclude tag regex. It queries Snowflake for the number of tags that survive your filter, counting user-defined tags and Snowflake's system tags separately.

✅ tagRegexCheck passed: user-defined 2, system 12

✅ tagRegexCheck passed: user-defined 0, system 12 — warning: no user-defined tag survives the filter

The crawler still imports tags, so this doesn't block the run. Verify that the result matches your intended filter - in this example, the filter keeps only Snowflake's system tags and no user-defined tags.

✅ tagRegexCheck passed: user-defined tags could not be read; system tags could not be read

Atlan couldn't read the tag sources, so it can't determine whether your filter matches any tags. This doesn't block the run. If this check continues to report the same result, your crawler role may be missing grants on the tag sources - see Grant Snowflake permissions.

❌ no user-defined or system tag survives this filter, so the crawl would import none — note ACCOUNT_USAGE lags up to ~2h behind new tags

This check is advisory - it doesn't stop the crawl from running. Every tag was filtered out, so a crawl in this state imports no tags, which also removes the Snowflake tags Atlan has already imported. To resolve this, widen the pattern or clear it to import every tag. If you created the tags recently, note that ACCOUNT_USAGE can lag up to two hours behind Snowflake.

info

If Atlan can't apply your pattern, or an Exclude tag regex matches every tag name, the crawler imports every tag and this check passes. A passing check doesn't confirm the filter was applied - see Include tag regex and Exclude tag regex.

Miner​

Did you know?

Once you have crawled assets from Snowflake, you can mine query history.

Query history view​

✅ Check successful

❌ Cannot access query history table. Please run the command in your Snowflake instance: GRANT IMPORTED PRIVILEGES ON DATABASE snowflake TO ROLE atlan_user_role;

To resolve this, see Grant Snowflake permissions for both options:

  • Grant IMPORTED PRIVILEGES on the entire SNOWFLAKE database (requires ACCOUNTADMIN).
  • Grant the least-privilege database roles: SNOWFLAKE.OBJECT_VIEWER, SNOWFLAKE.GOVERNANCE_VIEWER, and SNOWFLAKE.SECURITY_VIEWER.

Access history view​

✅ Check successful

❌ Check failed. Something went wrong with your request.

Sessions view​

✅ Check successful

❌ Check failed. Something went wrong with your request.

S3​

✅ Check successful if the bucket, region, and prefix combination is valid and the S3 credential passed is accessible.

❌Check failed with error code <AWS error code> - <AWS SDK ERR message>

For example: Miner S3 credentials: failed with error code: NoSuchBucket