Introduction

Completed

A slow query during peak hours can cascade into a service outage. A poorly chosen isolation level can cause users to see stale data or block each other for seconds at a time. Performance problems in Azure SQL Database rarely have a single cause. They emerge from the interaction between hardware configuration, concurrency behavior, query execution, and workload patterns. Diagnosing these problems requires understanding each layer and knowing which tools to use at each level.

Imagine a team managing an e-commerce application on Azure SQL Database. During a holiday sale, transaction throughput drops and customers report timeouts. Is the database under-provisioned? Are queries scanning entire tables instead of seeking through indexes? Are blocking chains forming between concurrent transactions? Is the query optimizer choosing a bad plan? Each possibility requires a different investigation tool and a different resolution strategy. This module gives you the skills to work through each of those questions systematically.

After completing this module, you're able to:

  • Evaluate and recommend database configurations including service tiers, compute tiers, and resource limits.
  • Choose transaction isolation levels and concurrency controls that balance consistency with throughput.
  • Analyze query performance using execution plans and dynamic management views.
  • Monitor and tune queries with Query Store and Query Performance Insight.
  • Identify and resolve blocking and deadlocks using DMVs and Extended Events.