Microsoft Course 2784 - Tuning and Optimizing Queries using Microsoft SQL Server 2005 — A 3-Day Course

contact usEnquire about this course

Course Synopsis

Please note that this course has been retired and is no longer available. Please see the Microsoft SQL Server 2005 page for courses currently available in this subject area.

This three-day instructor-led M2784 course provides database developers working in enterprise environments using Microsoft SQL Server 2005 the knowledge and skills to evaluate and improve queries and query response times. The workshop focuses on systematic identification and optimization of database factors that impact query performance.

Course Objectives

On completion of this M2784 training course, delegates should be able to:

Intended Audience

This course is intended for current professional database developers who have three or more years of on-the-job experience developing SQL Server database solutions in an enterprise environment.

Course Prerequisites

Before attending this course, students should have the following prerequisites:


This course has been retired and is no longer available.

Outline Course Contents

Measuring Database Performance

This unit provides students with an opportunity to measure database performance and identify database performance bottlenecks. Students will use a sample script to identify performance and concurrency problems, capture baseline performance, and prioritize identified problems for optimization.

Optimizing Physical Database Design

In this unit, students work with strategies for optimizing physical database design. Students will optimize a database schema using normalization, generalization, and denormalization.

Optimizing Queries for Performance

In this unit students experience optimizing and tuning queries to improve performance. In the lab, students will optimize stored procedures, views, and non-cursor aggregate queries to improve database performance and user experience.

Each query that is optimized improves the overall system because the query will use fewer resources, freeing up those resources for other queries, and reducing the amount of locking done by the query. The domino effect is profound.

Refactoring Cursors into Queries

In this unit, students will work with strategies for refactoring cursors into queries. In the lab, students will work to optimize a database by replacing slow iterative code with faster set-based code.

Optimizing an Indexing Strategy

In this unit, students will work on optimizing indexing strategies. Students will work with a given database to add and delete indexes, by providing the optimum bridge between the query and the data without any redundancies.

Managing Concurrency

This unit provides students with the opportunity to work with concurrency management. Students will look for concurrency issues and then solve them by optimizing transactions and adjusting the transaction isolation level.