ADA-C01 Question 359
Single answerCreate and manage resource monitors based on use cases and business requirementsA Snowflake administrator needs to control monthly compute spend for a non-production analytics warehouse used by several development teams. The business requires the following: if usage reaches 75% of the monthly budget, administrators must be notified; at 90%, the warehouse should stop accepting new queries but allow currently running statements to finish; at 100%, all running statements must be terminated and the warehouse must stop immediately. Which configuration best meets these requirements?
- A
Create a resource monitor with monthly frequency and three triggers: at 75% DO NOTIFY, at 90% DO SUSPEND, and at 100% DO SUSPEND_IMMEDIATE; then assign the monitor to the warehouse.
- B
Create a resource monitor with monthly frequency and two triggers: at 75% DO NOTIFY and at 100% DO SUSPEND; then assign the monitor to the warehouse.
- C
Create an alert on warehouse credit usage for 75%, 90%, and 100%, and configure the alert to suspend the warehouse at the required thresholds.
- D
Create a resource monitor at the account level with monthly frequency and triggers at 75% DO NOTIFY, 90% DO SUSPEND_IMMEDIATE, and 100% DO SUSPEND; this will enforce the policy only for the target warehouse.
Show answer and explanation
Correct answer: A
Explanation
The best solution is to use a warehouse-level resource monitor configured with threshold-based actions that align to the business policy. In Snowflake, resource monitors can track credit usage over a schedule such as monthly and can trigger actions including NOTIFY, SUSPEND, and SUSPEND_IMMEDIATE. SUSPEND stops the warehouse from starting new statements but allows in-progress work to complete, making it appropriate for the 90% threshold. SUSPEND_IMMEDIATE cancels currently running statements and suspends the warehouse immediately, which matches the 100% threshold requirement. Assigning the monitor directly to the non-production warehouse ensures only that warehouse is governed by this policy. This aligns with Snowflake documentation and best practices for controlling warehouse consumption using resource monitors rather than relying on alerts or account-wide controls when the requirement is warehouse-specific.
- A. Correct.
Correct. Resource monitors are the Snowflake feature used to track credit consumption and take actions at defined thresholds. A monthly monitor with triggers at 75% DO NOTIFY, 90% DO SUSPEND, and 100% DO SUSPEND_IMMEDIATE exactly matches the business requirements. DO SUSPEND prevents the warehouse from starting new queries but allows currently executing statements to complete, while DO SUSPEND_IMMEDIATE aborts running statements and suspends the warehouse immediately. Assigning the monitor to the specific warehouse scopes enforcement to that warehouse rather than the whole account.
- B. Incorrect.
Incorrect. This option is incomplete because it does not implement the required 90% action. Also, using DO SUSPEND at 100% would allow running statements to finish, which does not satisfy the requirement to terminate all running statements immediately at full budget consumption.
- C. Incorrect.
Incorrect. Alerts can evaluate conditions and send notifications, but they are not the primary built-in mechanism for enforcing credit quotas on warehouses. Resource monitors are specifically designed for warehouse and account credit governance with actions such as NOTIFY, SUSPEND, and SUSPEND_IMMEDIATE. This option reflects a common misconception that alerts replace resource monitors for spend enforcement.
- D. Incorrect.
Incorrect. Account-level resource monitors apply to the entire account's credit usage, not just one warehouse. In addition, the actions at 90% and 100% are reversed from the stated requirements: SUSPEND_IMMEDIATE should be used at 100%, not 90%, and SUSPEND should be used at 90% to let running statements complete.