Exhibit
AzureActivity sample rows: TimeGenerated OperationNameValue ActivityStatusValue Caller 2026-04-24T10:02:00Z Microsoft.Storage/storageAccounts/delete Succeeded alice@contoso.com 2026-04-24T10:07:00Z Microsoft.Storage/storageAccounts/delete Failed bob@contoso.com 2026-04-24T10:11:00Z Microsoft.Storage/storageAccounts/delete Failed bob@contoso.com 2026-04-24T10:20:00Z Microsoft.Storage/storageAccounts/write Succeeded admin@contoso.com Goal: identify failed delete operations from the last hour.
Based on the exhibit, which KQL query should you use to find failed storage account delete operations in the last hour and count them by caller?
Answer choices
Why each option matters
Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.
Best answer
AzureActivity | where TimeGenerated > ago(1h) | where OperationNameValue has 'Microsoft.Storage/storageAccounts/delete' | where ActivityStatusValue == 'Failed' | summarize Failures=count() by Caller
This query filters to the last hour, matches the delete operation, keeps only failed records, and groups the results by caller. It returns exactly the data needed to see who attempted the failed deletes.
Distractor review
AzureActivity | where TimeGenerated > ago(1h) | where OperationNameValue has 'Microsoft.Storage/storageAccounts/delete' | where ActivityStatusValue == 'Succeeded' | summarize Failures=count() by Caller
This query looks for successful deletes instead of failed ones. It would miss the failures that the incident response team wants to investigate.
Distractor review
SecurityEvent | where EventID == 4670 | summarize count() by Account
SecurityEvent is an operating system security log table, not the Azure Activity log. It would not correctly query Azure resource management operations.
Distractor review
AzureActivity | where TimeGenerated > ago(1h) | where OperationNameValue has 'Microsoft.Storage/storageAccounts/delete' | summarize Failures=count() by Caller
This query counts all delete attempts but does not filter to failures. Successful deletions would be included, which makes the result inaccurate for the incident.
Common exam trap
Common exam trap: answer the scenario, not the keyword
Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.
Technical deep dive
How to think about this question
This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
- Use explanations to understand the rule behind the answer.
TExam Day Tips
- Underline the problem statement mentally.
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Related practice questions
Related AZ-104 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
AZ-104 Azure RBAC practice questions
Practise AZ-104 questions linked to AZ-104 Azure RBAC.
AZ-104 storage account practice questions
Practise AZ-104 questions linked to AZ-104 storage account.
AZ-104 virtual network practice questions
Practise AZ-104 questions linked to AZ-104 virtual network.
AZ-104 NSG practice questions
Practise AZ-104 questions linked to AZ-104 NSG.
AZ-104 Azure Monitor practice questions
Practise AZ-104 questions linked to AZ-104 Azure Monitor.
AZ-104 backup practice questions
Practise AZ-104 questions linked to AZ-104 backup.
AZ-104 managed identity practice questions
Practise AZ-104 questions linked to AZ-104 managed identity.
AZ-104 load balancer practice questions
Practise AZ-104 questions linked to AZ-104 load balancer.
AZ-104 Azure Policy practice questions
Practise AZ-104 questions linked to AZ-104 Azure Policy.
AZ-104 virtual machine practice questions
Practise AZ-104 questions linked to AZ-104 virtual machine.
More questions from this exam
Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.
Question 1
A route table contains these entries: 10.0.0.0/8 with next hop Virtual appliance, and 10.1.1.0/24 with next hop Virtual network gateway. Which next hop will Azure use for traffic to 10.1.1.5?
Question 2
You are deploying a stateless web application on Azure virtual machines. The solution must automatically add and remove instances based on CPU demand and allow all instances to be managed as one logical group. Which Azure compute feature should you deploy?
Question 3
You are deploying a Windows Server VM for an internal app. The VM must support Secure Boot and vTPM later, its OS disk must survive host moves, and the team wants the lowest-cost managed disk tier that still behaves like a normal writable OS disk. Which two choices should you make? Select two.
Question 4
You need to deploy several identical virtual machines and ensure that the failure of a single Azure host does not affect all of them. Which feature should you use?
Question 5
You need to connect VNet-Hub and VNet-Spoke so that resources in both virtual networks can communicate privately over the Microsoft backbone. Both virtual networks are in the same region. What should you configure?
Question 6
You need to create a storage account that provides the lowest-cost redundant storage for non-critical data and only needs protection against local disk or server failure within a single datacenter. Which redundancy option should you choose?
FAQ
Questions learners often ask
What does this AZ-104 question test?
Read the scenario before looking for a memorised answer.
What is the correct answer to this question?
The correct answer is: AzureActivity | where TimeGenerated > ago(1h) | where OperationNameValue has 'Microsoft.Storage/storageAccounts/delete' | where ActivityStatusValue == 'Failed' | summarize Failures=count() by Caller — The scenario is asking for failed delete operations only, so the query must include both the delete operation name and the failure status. AzureActivity is the correct table because it stores management-plane actions. Summarizing by Caller then shows who generated the failed requests, which is useful for investigation and targeted follow-up. Why others are wrong: One option filters for succeeded operations, which is the opposite of the requirement. Another uses SecurityEvent, which is unrelated to Azure management actions. The last option omits the failure filter, so it would count every delete attempt instead of only failed ones. Those mistakes make the output unsuitable for incident analysis.
What should I do if I get this AZ-104 question wrong?
Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.
Discussion
Sign in to join the discussion.