MS SQL Server Performance Tuning

Course Outline

Module 1: Course Overview

This module explains how the class will be structured and introduces course materials and additional administrative information.


  • Introduction
  • Course Materials
  • Facilities
  • Prerequisites
  • What We’ll Be Discussing

Lab : Course Overview

  • None
  • Successfully log into their virtual machine.
  • Have a full understanding of what the course intends to cover.

Module 2: SQL 2014 Architecture

In this module, we will examine the new Cardinality Estimator, explore memory-optimized tables, and explain how SQL both stores and locates data.


  • The New Cardinality Estimator
  • Memory-Optimized Tables
  • Understanding Performance for Developers
  • Understanding Startup Parameters
  • Startup Stored Procedures
  • Database Structures
  • Instant File Initialization
  • How SQL Stores Data
  • How SQL Locates Data

Lab : SQL 2014 Architecture

  • Configuring Compatibility Level
  • Startup Parameter
  • Startup Stored Procedure
  • Instant File Initialization
  • Understand and utilize the new Cardinality Estimator.
  • Understand and utilize memory-optimized tables.
  • Understand performance.
  • Understand and utilize startup stored procedures.
  • Understand database structures.
  • Understand and utilize Instant File Initialization.
  • Understand how SQL stored data.
  • Understand how SQL locates data.

Module 3: The Database Engine

The SQL Server Database Engine is split into two major components, which are the storage engine and the relational engine. The relational engine is also called the query processor which is a more descriptive term for what it actually does. In this module, we explore how the engines works, and cover concepts that will help you to understand their behavior.


  • Four Important Concepts
  • Temporary Tables Internals
  • Concurrency
  • Transactions
  • Isolation Levels
  • SQL Server Locking Architecture
  • SQL and Storage Area Networks (SAN)
  • SQL on VMs
  • SQLIO Utility
  • Partitioned Tables and Indexes

Lab : The Database Engine

  • Table-Valued Parameter
  • Transactions
  • Vertically Partitioned Table Using Code
  • Partitioning with Filegroups
  • Partitioning Wizard
  • Understand temporary table internals.
  • Understand and utilize table valued parameters.
  • Understand concurrency.
  • Understand and utilize transactions.
  • Understand isolation levels.
  • Understand and utilize SQL Server locking architecture.
  • Understand SQL and Storage Area Networks (SAN).
  • Understand and utilize SQL on virtual machines.
  • Understand SQLIO Utility and its uses.
  • Understand and utilize partitioned tables and indexes.

Module 4: SQL Performance Tools

SQL provides a number of robust monitoring tools and in this module we explore the tools available and explain what they are designed to do.


  • The Resource Governor
  • Activity Monitor
  • Live Query Statistics
  • Monitoring SQL with Transact-SQL
  • Dynamic Management Objects (DMOs) and Performance Tuning

Lab : SQL Performance Tools

  • Resource Governor
  • Activity Monitor
  • sp_who2
  • Performance DMVs
  • Understand and utilize the Resource Governor.
  • Understand and utilize Activity Monitor.
  • Understand Live Query Statistics.
  • Understand how to monitor SQL using Transact-SQL.
  • Understand and utilize performance DMVs.

Module 5: Query Optimizing and Operators

SQL Server query optimization remains a very important part of today’s database applications. In this module we examine the tuning process, options for troubleshooting, execution plans, Performance Monitor, and much more.


  • Tuning Process
  • Performance Monitor Tool
  • SQL Query Processing Steps
  • Understanding Execution Plans
  • Data Access Operators
  • Troubleshooting Queries

Lab : Query Optimizing and Operators

  • Performance Monitor (perfmon)
  • Estimated vs Actual Plans and XML Plans
  • Viewing a Non-Trivial Execution Plan
  • Data Access Operators
  • DMVs
  • View Information About Extended Events
  • Wizard Templates
  • Creating a Session Without a Wizard
  • Configuring MDW and Viewing Reports
  • Understand the tuning process.
  • Understand and utilize Performance Monitor tool.
  • Understand SQL query processing steps.
  • Understand and utilize execution plans.
  • Understand and utilize SET STATISTICS TIME and SET STATISTICS IO.
  • Understand and utilize Data Access Operators.
  • Understand and utilize DMVs.
  • Understand and utilize Extended Events.
  • Understand and utilize sessions.
  • Understand how to troubleshooting queries.
  • Understand how to configure a Management Data Warehouse and view reports.

Module 6: Understanding Indexes

The entire concept of indexing is speedy retrieval. In this module we explain everything you need to know about creating, utilizing, managing, and monitoring indexes.


  • Introduction to Indexes
  • Index Types by Storage
  • Index Types by Column Designation
  • Creating and Altering Indexes
  • Metadata
  • Data Management Views for Indexing
  • Database Engine Tuning Advisor
  • Index Data Management Objects
  • SQL Server Fragmentation
  • Patterns
  • Index Storage Strategies
  • Indexed Views
  • Monitoring Indexes
  • Index Dynamic Management Objects (DMOs)
  • Best Practices

Lab : Understanding Indexes

  • Create Indexes
  • Index Metadata
  • Database Tuning Advisor
  • Missing Index DMOs
  • Fragmentation and Page Splits
  • Data Compression
  • Indexed Views
  • Doubleclick to insert next Lab
  • Understand indexes and their importance.
  • Understand index types.
  • Create and alter indexes.
  • Understand and utilize index metadata.
  • Understand and utilize Database Tuning Advisor.
  • Understand and utilize Index Data Management Objects.
  • Understand fragmentation of indexes and utilize page splits.
  • Understand index storage strategies.
  • Understand and utilize indexed views.
  • Understand monitoring indexes.
  • Understand index best practices.

Module 7: Understanding Statistics

Statistics are considered one of the most important aspects of SQL Server Performance Tuning. In this module we examine statistics and how to utilize them.


  • Statistics
  • Cardinality Estimator
  • Incremental Statistics
  • Computed Columns Statistics
  • Filtered Statistics
  • Maintenance

Lab : Understanding Statistics

  • Statistics Objects
  • Histogram
  • New vs Old Cardinality Estimator
  • Incremental Statistics
  • Computed Columns
  • Filtered Statistics
  • Ascending Keys
  • Statistics Maintenance Plan
  • Understand and utilize statistics objects.
  • Understand and utilize the histogram.
  • Understand and utilize new vs old cardinality estimator.
  • Understand and utilize incremental statistics.
  • Understand and utilize computed columns.
  • Understand and utilize filtered statistics.
  • Understand and utilize ascending keys.
  • Understand and utilize statistics maintenance plan.

Module 8: In-Memory Database

The most important new feature in SQL Server 2014 is the new In-Memory OLTP engine. In this module we will cover the architecture, restrictions, and other exciting features.


  • Architecture
  • Tables and Indexes
  • Natively Compiled Stored Procedures
  • Restrictions
  • Analyze Migrate Report Tool
  • In-Memory Data Management Views (DMV)

Lab : In-Memory Database

  • Creating an In-Memory Enabled Database with Code and SSMS
  • Creating a Memory-Optimized Table
  • View Hash Index
  • Natively Compiled Stored Procedure
  • AMR Tool
  • In-Memory DMVs
  • Understand architecture.
  • Understand and utilize tables and indexes.
  • Understand and utilize the hash index.
  • Understand and utilize natively compiled stored procedures.
  • Understand restrictions.
  • Understand and ut