A Resource Monitor is Snowflake's cost-management feature that tracks the credits consumed by Virtual Warehouses and automatically fires notifications or suspends the warehouse when thresholds are hit. It guards against cost overruns caused by runaway queries or warehouses you forgot to stop.
This article walks through the CREATE RESOURCE MONITOR SQL syntax, how each threshold action (Notify / Suspend / Suspend Immediately) behaves, and how to assign monitors at the account vs. warehouse level. This is a frequent topic in the Performance Concepts domain of the SnowPro Core exam.
Resource Monitors periodically check Virtual Warehouse credit usage and trigger actions (notifications or suspension) when configured thresholds are reached. They can be applied at the account level (sum of credits across all warehouses) or at the level of an individual warehouse.
The three main parameters of a Resource Monitor are:
-- Create a basic Resource Monitor
CREATE OR REPLACE RESOURCE MONITOR monthly_cost_monitor
WITH
CREDIT_QUOTA = 500
FREQUENCY = MONTHLY
START_TIMESTAMP = IMMEDIATELY
TRIGGERS
ON 50 PERCENT DO NOTIFY
ON 80 PERCENT DO NOTIFY
ON 95 PERCENT DO SUSPEND
ON 100 PERCENT DO SUSPEND_IMMEDIATELY;In the example above, the monthly credit cap is 500. Notifications fire at 50% and 80%, Suspend (wait for running queries to finish) triggers at 95%, and Suspend Immediately (immediate suspension) triggers at 100%.
| Action | Behavior | Running queries | Use case |
|---|---|---|---|
| NOTIFY | Notification only (warehouse keeps running) | Unaffected | Early warning; set at 50-80% thresholds |
| SUSPEND | Suspends the warehouse after running queries finish | Run to completion | Production; set at 90-95% thresholds |
| SUSPEND_IMMEDIATELY | Cancels running queries immediately and suspends the warehouse | Cancelled immediately (terminate with error) | Test environments or emergency stops; set at the 100% threshold |
NOTIFY actions send alerts to account administrators (users with the ACCOUNTADMIN role) via Snowsight notification banners and email. To route notifications to custom destinations, use Alert Integrations.
-- Apply at the account level (monitor total credits across all warehouses)
ALTER ACCOUNT SET RESOURCE_MONITOR = monthly_cost_monitor;An account-level Resource Monitor tracks the total credits consumed by every Virtual Warehouse in the account. Use it to enforce an organization-wide cost cap.
-- Apply to individual warehouses
ALTER WAREHOUSE etl_wh SET RESOURCE_MONITOR = etl_monitor;
ALTER WAREHOUSE analytics_wh SET RESOURCE_MONITOR = analytics_monitor;
-- Specify the Resource Monitor at warehouse creation time
CREATE WAREHOUSE dev_wh
WAREHOUSE_SIZE = 'XSMALL'
RESOURCE_MONITOR = dev_monitor
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;At the warehouse level, monitoring is scoped to a single warehouse. The common pattern is to split warehouses by purpose (ETL, analytics, development) and assign each one its own credit cap.
| Feature | Monitored |
|---|---|
| Virtual Warehouse | Yes (credit consumption is tracked) |
| Cloud Services Layer | No (only the portion of daily usage above 10% of warehouse usage is billed; not monitored) |
| Snowpipe | No (serverless compute; not monitored) |
| Automatic Clustering | No (serverless compute; not monitored) |
| Materialized View | No (automatic maintenance; not monitored) |
| Search Optimization | No (serverless compute; not monitored) |
| Storage | No (storage costs are not monitored) |
-- List Resource Monitors
SHOW RESOURCE MONITORS;
-- Modify a Resource Monitor
ALTER RESOURCE MONITOR monthly_cost_monitor
SET CREDIT_QUOTA = 800;
-- Drop a Resource Monitor
DROP RESOURCE MONITOR dev_monitor;
-- Unassign from a specific warehouse
ALTER WAREHOUSE etl_wh UNSET RESOURCE_MONITOR;Resource Monitor
問題 1
Which statement correctly describes what happens when a SUSPEND action is configured in a Resource Monitor's TRIGGERS clause?
正解: C
When SUSPEND fires, Snowflake stops accepting new queries and waits for currently running queries to finish before suspending the warehouse — those queries complete normally. Cancelling running queries on the spot is the behavior of SUSPEND_IMMEDIATELY (A is wrong). Notification-only is NOTIFY (B is wrong). Resource Monitors do not include automatic warehouse-size scaling (D is wrong).
Practice Resource Monitor questions
Check your SnowPro readiness with our bilingual question bank
Try free questions →Can Resource Monitors track credits used by serverless features?
No. Resource Monitors only track credit consumption from Virtual Warehouses. Serverless compute credits — such as Snowpipe, Automatic Clustering, automatic maintenance for Materialized Views, and the Search Optimization Service — are out of scope. To monitor serverless costs, use views in the ACCOUNT_USAGE schema like METERING_HISTORY (Snowpipe), AUTOMATIC_CLUSTERING_HISTORY, and MATERIALIZED_VIEW_REFRESH_HISTORY. Exam questions frequently test what Resource Monitors do and do not cover.
Which role is required to create a Resource Monitor?
Creating a Resource Monitor requires the ACCOUNTADMIN role. SYSADMIN and custom roles cannot execute CREATE RESOURCE MONITOR. However, once ACCOUNTADMIN grants the MONITOR privilege to another role, that role can view Resource Monitor thresholds and notification status. Applying a Resource Monitor at the account level (ALTER ACCOUNT SET RESOURCE_MONITOR) also requires ACCOUNTADMIN. Applying it to an individual warehouse (ALTER WAREHOUSE SET RESOURCE_MONITOR) can be done by ACCOUNTADMIN or the warehouse owner.
What is the difference between Suspend and Suspend Immediately?
Suspend waits for running queries to finish before suspending the warehouse. When the threshold is hit, in-flight queries run to completion and the warehouse stops afterward. Suspend Immediately cancels running queries on the spot and suspends the warehouse, so those queries terminate with an error. The common pattern is to use Suspend (wait for queries) in production and reserve Suspend Immediately for test environments or situations where the risk of cost overrun is high.
Practice with certification-focused question sets
Try free practice questionsNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Snowflake Certifications: All 11 Exams Explained (2026)
Every SnowPro certification — Associate, Core, Specialty, Ad...
Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)
All 11 SnowPro exams ranked by difficulty with study-time es...
Snowflake Study Guide: Fastest Pass Route by Exam (2026)
How to pass SnowPro certifications efficiently — official ma...
SnowPro Core (COF-C03): Complete Exam Guide (2026)
Pass the SnowPro Core exam — six domains, scope, sample ques...
SnowPro Associate Platform (SOL-C01): Complete Guide (2026)
The entry-level SnowPro Associate exam — scope, weighting, s...