MS-55144 - SQL Server 2014 Performance Tuning and Optimization

This 5-day course is designed to give the right amount of internals knowledge combined with a wealth of practical tuning and optimization techniques that students can put into production. The course offers comprehensive coverage of SQL Server architecture, indexing and statistics strategies, optimizing transaction log operations, temp db and data file configuration, transactions and isolation levels, and locking and blocking. The course also teaches how to create baselines to benchmark SQL Server performance, how to analyze workload, and how to find and fix performance problems. Also included is an introduction to, and coverage of, two exciting new technologies: in-memory tables and stored procedures.

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »


Before attending this course, students must have:
  • Basic knowledge of the Microsoft Windows operating system and its core functionality.
  • Working knowledge of database administration and maintenance.
  • Working knowledge of Transact-SQL.

Detailed Class Syllabus

Module 1: Course Overview

This module explains how the class will be structured and introduces course materials and additional administrative information.
Course Materials
What We'll Be Discussing

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 Allocation
How SQL Stores Data
How SQL Locates Data
After completing this module, students will be able to:
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 Allocation.
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
Isolation Levels
SQL Server Locking Architecture
SQL and Storage Area Networks (SAN)
SQL on VMs
SQLIO Utility
Partitioned Tables and Indexes
After completing this module, students will be able to:
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
After completing this module, students will be able to:
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
After completing this module, students will be able to:
Understand the tuning process.
Understand and utilize Performance Monitor tool.
Understand SQL query processing steps.
Understand and utilize execution plans.
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
Data Management Views for Indexing
Database Engine Tuning Advisor
Index Data Management Objects
Fragmentation of Indexes
Index Storage Strategies
Indexed Views
Monitoring Indexes
Index Dynamic Management Objects (DMOs)
Best Practices
After completing this module, students will be able to:
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.
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.
Cardinality Estimator
Incremental Statistics
Computed Columns Statistics
Filtered Statistics
After completing this module, students will be able to:
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 Databases

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.
Tables and Indexes
Natively Compiled Stored Procedures
Analyze Migrate Report Tool
In-Memory Data Management Views (DMV)
After completing this module, students will be able to:
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 utilize the Analyze Migrate Report tool.
Understand and utilize in-memory data management views.