Summary

10987 Performance Tuning and Optimizing SQL Databases

This course is being retired by Microsoft on December 31, 2021.

This four-day instructor-led course provides students who manage and maintain SQL Server databases with the knowledge and skills to performance tune and optimize their databases.

Introduction

Who Should Attend
The primary audience for this course is individuals who administer and maintain SQL Server databases and are responsible for optimal performance of SQL Server instances that they manage. These individuals also write queries against data and need to ensure optimal execution performance of the workloads. The secondary audiences for this course are individuals who develop applications that deliver content from SQL Server databases.

Course Objectives
After completing this course, students will be able to:
– Describe the high level architectural overview of SQL Server and its various components.
– Describe the SQL Server execution model, waits and queues.
– Describe core I/O concepts, Storage Area Networks and performance testing.
– Describe architectural concepts and best practices related to data files for user databases and TempDB.
– Describe architectural concepts and best practices related to Concurrency, Transactions, Isolation Levels and Locking.
– Describe architectural concepts of the Optimizer and how to identify and fix query plan issues.
– Describe architectural concepts, troubleshooting scenarios and best practices related to Plan Cache.
– Describe architectural concepts, troubleshooting strategy and usage scenarios for Extended Events.
– Explain data collection strategy and techniques to analyze collected data.
– Understand techniques to identify and diagnose bottlenecks to improve overall performance.

Outline

  • 1 - SQL Server Architecture, Scheduling, and Waits

    • SQL Server Components and SQL OS
    • Windows Scheduling vs SQL Scheduling
    • Waits and Queues
  • 2 - SQL Server I/O

    • Core Concepts
    • Storage Solutions
    • I/O Setup and Testing
  • 3 - Database Structures

    • Database Structure Internals
    • Data File Internals
    • TempDB Internals
  • 4 - SQL Server Memory

    • Windows Memory
    • SQL Server Memory
    • In-Memory OLTP
  • 5 - Concurrency and Transactions

    • Concurrency and Transactions
    • Locking Internals
  • 6 - Statistics and Index Internals

    • Statistics Internals and Cardinality Estimation
    • Index Internals
    • Columnstore Indexes
  • 7 - Query Execution and Query Plan Analysis

    • Query execution and optimizer internals
    • Query execution plans
    • Analyzing query execution plans
    • Adaptive query processing
  • 8 - Plan Caching and Recompilation

    • Plan cache internals
    • Troubleshooting plan cache issues
    • Automatic tuning
    • Query store
  • 9 - Extended Events

    • Extended events core concepts
    • Implementing extended events
  • 10 - Monitoring, Tracing, and Baselining

    • Monitoring and tracing
    • Baselining and benchmarking

Course Schedule

*Indicates a course that spans over multiple days.

**Indicates a course that is only a half day.