Preflight checks for Snowflake
Before [running the Snowflake crawler](/apps/connectors/data-warehouses/snowflake/how-tos/crawl-snowflake), you can run [preflight checks](/product/conne.
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.
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
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 PRIVILEGESon the entireSNOWFLAKEdatabase (requiresACCOUNTADMIN). - Grant the least-privilege database roles:
SNOWFLAKE.OBJECT_VIEWER,SNOWFLAKE.GOVERNANCE_VIEWER, andSNOWFLAKE.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