ADA-C01 Question 298
Single answerStepsA Snowflake administrator is troubleshooting a task-based ELT pipeline that intermittently fails during one of its processing steps. The team wants better visibility into which SQL statements within the task execution are taking the most time so they can isolate the slow step and optimize it. Which action should the administrator take to get the most direct step-level execution details for the task run?
- A
Query TASK_HISTORY to identify the task run, then use the QUERY_ID from the task execution to inspect the statement and its operator-level steps in the Query Profile in Snowsight
- B
Increase the task schedule frequency and compare average task durations over time in ACCOUNT_USAGE.TASK_HISTORY
- C
Enable AUTO_SUSPEND on the warehouse used by the task so Snowflake records more granular execution steps for each SQL statement
- D
Use SHOW TASKS to retrieve step-by-step execution timing for each SQL statement inside the task definition
Show answer and explanation
Correct answer: A
Explanation
For task troubleshooting, Snowflake administrators typically start with TASK_HISTORY (or the corresponding Account Usage views) to find the relevant task execution, then drill into the query associated with that run. The Query Profile in Snowsight provides the most useful step-level visibility because it shows the execution plan and timing breakdown across operators within the statement. This is the appropriate tool when the goal is to determine which processing step is slow. By contrast, SHOW TASKS is metadata-oriented, and warehouse settings such as AUTO_SUSPEND do not change profiling detail. Snowflake documentation and operational best practices consistently separate monitoring task executions (TASK_HISTORY) from deep query performance analysis (Query History and Query Profile).
- A. Correct.
Correct. TASK_HISTORY helps identify a specific task run and its associated query information. From there, the administrator can inspect the SQL statement execution details in Query History / Query Profile, which exposes the execution plan and operator-level steps such as scans, joins, aggregations, and data movement. This is the most direct way to analyze which step of the executed statement is consuming time.
- B. Incorrect.
Incorrect. Comparing average durations in TASK_HISTORY can help identify trends, but it does not provide step-level detail for a specific execution. It is useful for monitoring but not for isolating which internal statement step is slow.
- C. Incorrect.
Incorrect. AUTO_SUSPEND controls warehouse suspension behavior and cost optimization, not the granularity of execution diagnostics. It has no effect on whether Snowflake records statement execution steps in query profiling.
- D. Incorrect.
Incorrect. SHOW TASKS returns task metadata such as schedule, warehouse, and state, but it does not provide execution-step timing for SQL statements run by the task. Administrators commonly confuse object metadata with execution diagnostics.