📖 Scenario: You are managing a Snowflake cloud data warehouse for a small company. To avoid unexpected high costs, you want to set up resource monitors that track and control credit usage.
🎯 Goal: Create a resource monitor in Snowflake that tracks credit usage, set a threshold, and configure actions to control costs.
📋 What You'll Learn
Create a resource monitor named cost_monitor with a credit quota of 100
Set the credit quota to 100 credits
Set the trigger threshold to 80% of the quota
Configure the monitor to notify the account admins when the threshold is reached
Configure the monitor to suspend warehouses when the quota is exceeded
💡 Why This Matters
🌍 Real World
Resource monitors help companies avoid unexpected cloud costs by tracking and controlling credit usage in Snowflake.
💼 Career
Cloud engineers and data platform administrators use resource monitors to manage budgets and ensure cost efficiency.
Progress0 / 4 steps
1
Create the resource monitor
Create a resource monitor named cost_monitor with a credit quota of 100 credits.
Snowflake
Hint
Use the CREATE RESOURCE MONITOR statement with the CREDIT_QUOTA option.
2
Set the trigger threshold
Alter the resource monitor cost_monitor to set the trigger threshold to 80 percent of the quota.
Snowflake
Hint
Use ALTER RESOURCE MONITOR and SET TRIGGERS AT 80 PERCENT to set the threshold.
3
Configure notification action
Alter the resource monitor cost_monitor to notify the account admins when the threshold is reached using NOTIFY_ROLES = ('ACCOUNTADMIN').
Snowflake
Hint
Use SET NOTIFY_ROLES = ('ACCOUNTADMIN') to notify admins.
4
Configure suspend action on quota exceed
Alter the resource monitor cost_monitor to suspend warehouses when the quota is exceeded using SET SUSPEND AT 100 PERCENT.
Snowflake
Hint
Use ALTER RESOURCE MONITOR cost_monitor SET SUSPEND = TRUE AT 100 PERCENT to suspend warehouses on quota exceed.
Practice
(1/5)
1. What is the main purpose of a resource monitor in Snowflake?
easy
A. To track and control cloud credit usage by setting limits
B. To create new virtual warehouses automatically
C. To backup data to external storage
D. To manage user access permissions
Solution
Step 1: Understand resource monitor function
Resource monitors are designed to track cloud credit consumption and enforce limits to control costs.
Step 2: Identify the correct purpose
Among the options, only tracking and controlling credit usage matches the resource monitor's role.
Final Answer:
To track and control cloud credit usage by setting limits -> Option A
Quick Check:
Resource monitor = cost control [OK]
Hint: Resource monitors limit cloud credits to control costs [OK]
Common Mistakes:
Confusing resource monitors with user access controls
Thinking resource monitors create warehouses
Assuming resource monitors handle data backups
2. Which Snowflake SQL command correctly creates a resource monitor with a 1000 credit monthly limit?
easy
A. CREATE RESOURCE MONITOR my_monitor WITH CREDIT_QUOTA = 1000, TRIGGERS ON 90 PERCENT DO NOTIFY
B. CREATE RESOURCE MONITOR my_monitor SET CREDIT_LIMIT = 1000
C. CREATE RESOURCE MONITOR my_monitor WITH CREDIT_QUOTA = 1000 TRIGGERS ON 90 PERCENT DO NOTIFY
D. CREATE RESOURCE MONITOR my_monitor CREDIT_LIMIT 1000
Solution
Step 1: Review correct syntax for resource monitor creation
The correct syntax uses CREATE RESOURCE MONITOR with WITH CREDIT_QUOTA and TRIGGERS clauses.
Step 2: Match syntax with options
CREATE RESOURCE MONITOR my_monitor WITH CREDIT_QUOTA = 1000 TRIGGERS ON 90 PERCENT DO NOTIFY matches the correct syntax including triggers and notification on 90% usage.
Final Answer:
CREATE RESOURCE MONITOR my_monitor WITH CREDIT_QUOTA = 1000 TRIGGERS ON 90 PERCENT DO NOTIFY -> Option C
Quick Check:
Correct syntax uses WITH CREDIT_QUOTA and TRIGGERS [OK]
Hint: Use WITH CREDIT_QUOTA and TRIGGERS to create monitors [OK]
Common Mistakes:
Using SET instead of WITH for quota
Omitting TRIGGERS clause
Incorrect keyword CREDIT_LIMIT instead of CREDIT_QUOTA
3. Given this resource monitor configuration:
CREATE RESOURCE MONITOR rm1 WITH CREDIT_QUOTA = 500 TRIGGERS ON 80 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND;
What happens when the credit usage reaches 100%?
medium
A. The resource monitor suspends the warehouses linked to it
B. Snowflake sends a notification but continues running
C. The credit quota automatically increases
D. Nothing happens automatically
Solution
Step 1: Analyze the triggers in the resource monitor
The monitor triggers a notification at 80% and suspends resources at 100% usage.
Step 2: Understand the effect of the 100% trigger
At 100%, the monitor suspends warehouses linked to it to prevent further credit use.
Final Answer:
The resource monitor suspends the warehouses linked to it -> Option A
Quick Check:
100% trigger with SUSPEND = suspend warehouses [OK]
Hint: 100% trigger with SUSPEND stops warehouses automatically [OK]
Common Mistakes:
Thinking notification happens at 100% instead of suspend
Assuming quota increases automatically
Believing nothing happens at limit
4. You wrote this command to create a resource monitor:
CREATE RESOURCE MONITOR monitor1 WITH CREDIT_QUOTA = 2000 TRIGGERS ON 90 PERCENT DO NOTIFY ON 110 PERCENT DO SUSPEND;
What is wrong with this command?
medium
A. CREDIT_QUOTA must be less than 1000
B. The trigger percentage cannot exceed 100%
C. DO NOTIFY is not a valid action
D. Resource monitors cannot suspend warehouses
Solution
Step 1: Check trigger percentage limits
Trigger percentages must be between 0 and 100; 110% is invalid.
Step 2: Validate other parts of the command
DO NOTIFY is valid, CREDIT_QUOTA can be any positive number, and suspension is allowed.
Final Answer:
The trigger percentage cannot exceed 100% -> Option B
Quick Check:
Trigger percent ≤ 100% [OK]
Hint: Trigger percentages must be 0-100% only [OK]
Common Mistakes:
Setting trigger above 100%
Confusing DO NOTIFY syntax
Thinking suspension is disallowed
5. You want to prevent unexpected high costs by automatically suspending warehouses when 95% of your monthly credit quota is used, and notify at 80%. Which resource monitor configuration achieves this?
hard
A. CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 95 PERCENT DO NOTIFY ON 80 PERCENT DO SUSPEND;
B. CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 100 PERCENT DO NOTIFY ON 95 PERCENT DO SUSPEND;
C. CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 80 PERCENT DO SUSPEND ON 95 PERCENT DO NOTIFY;
D. CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 80 PERCENT DO NOTIFY ON 95 PERCENT DO SUSPEND;
Solution
Step 1: Identify notification and suspension percentages
Notification should occur at 80%, suspension at 95% usage.
Step 2: Match triggers to correct actions and order
CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 80 PERCENT DO NOTIFY ON 95 PERCENT DO SUSPEND; correctly sets 80% for notification and 95% for suspension.
Step 3: Verify other options
The other options swap actions or percentages incorrectly or notify at 100% instead of 80%.
Final Answer:
CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 80 PERCENT DO NOTIFY ON 95 PERCENT DO SUSPEND; -> Option D
Quick Check:
Notify 80%, suspend 95% = CREATE RESOURCE MONITOR cost_control WITH CREDIT_QUOTA = 1500 TRIGGERS ON 80 PERCENT DO NOTIFY ON 95 PERCENT DO SUSPEND; [OK]
Hint: Notify lower %, suspend higher % to control costs [OK]
Common Mistakes:
Swapping notify and suspend percentages
Setting notify higher than suspend
Using 100% notify instead of 80%
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.