M50401: Designing and Optimizing Database Solutions with Microsoft SQL Server 2008

5 Day Course
Hands On
Official Microsoft Curriculum
Code M50401

Book Now - 1 Delivery Method Available:

Scheduled Virtual Onsite


This five-day instructor-led course provides the knowledge and skills that IT Professionals need to design, optimize, and maintain SQL Server 2008 database.

The audience of this course is developers who implement database solutions or perform development utilizing the programming features and functionality of SQL Server. Students taking this course are expected to have three or more years of experience working on databases for two or more of the following phases in the product lifecycle – design, development, deployment, optimization, maintenance, or support. They should possess a four-year college degree, BS or BA, in the computer field.


On completion of this course, delegates will be able to:

  • Design a database design strategy
  • Design a database for optimal performance
  • Design security for a database
  • Design programming objects
  • Design queries for performance
  • Design a transaction and concurrency strategy
  • Design an XML strategy.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Hide all

Designing a Conceptual Database Model (5 topics)

  • Overview of Database Design
  • Gathering Database Requirements
  • Creating a Conceptual Database Design
  • Overview of Entity Framework
  • Lab: Designing a Conceptual Database Model

Designing a Logical Database Model (4 topics)

  • Guidelines for Building a Logical Database Model
  • Planning for OLTP Activity
  • Evaluating Logical Models
  • Lab: Designing a Logical Database Model

Designing a Physical Database Model (4 topics)

  • Selecting Data Types
  • Designing Database Tables
  • Designing Data Integrity
  • Lab: Designing a Physical Database Model

Designing Databases for Optimal Performance (5 topics)

  • Guidelines for Designing Indexes
  • Designing a Partitioning Strategy
  • Designing a Plan Guide
  • Designing Scalable Databases
  • Lab: Designing Databases for Optimal Performance

Designing Security for SQL Server 2008 (6 topics)

  • Exploring Security in SQL Server 2008
  • Implementing Identity and Access Control
  • Guidelines for Secure Development in SQL Server 2008
  • Guidelines for Secure Deployment of SQL Server 2008
  • Guidelines for Secure Operations
  • Lab: Designing Security for SQL Server 2008

Designing a Strategy for Database Access (5 topics)

  • Guidelines for Designing Secure Data Access
  • Designing Views
  • Designing Stored Procedures
  • Designing User-Defined Functions
  • Lab: Designing a Strategy for Database Access

Designing Queries for Optimal Performance (4 topics)

  • Considerations for Optimizing Queries for Performance
  • Refactoring Cursors into Queries
  • Extending Set-Based Operations
  • Lab: Designing Queries for Optimal Performance

Designing a Transaction and Concurrency Strategy (4 topics)

  • Guidelines for Defining Transactions
  • Defining Isolation Levels
  • Guidelines for Designing a Resilient Transaction Strategy
  • Lab: Designing a Transaction and Concurrency Strategy

Designing an XML Strategy (4 topics)

  • Designing XML Storage
  • Designing an XML Query Strategy
  • Designing a Data Conversion Strategy
  • Lab: Designing an XML Strategy

Designing SQL Server 2008 Components (7 topics)

  • Overview of SQL Server 2008 Components
  • Designing a Service Broker Architecture
  • Designing the Service Broker Data Flow
  • Designing the Service Broker Availability
  • Exploring Full-Text Search
  • Designing a Full-Text Search Strategy
  • Lab: Designing SQL Server 2008 Components


Before attending this course, students must have: * Working knowledge of data storage. Specifically, they should know about row layout, fixed length field placement and varying length field placement. * Knowledge about index structures and index utilization. Specifically, they must understand the interaction between non-clustered indexes, clustered indexes and heaps. They must know why a covering index can improve performance. * Hands-on database developer experience. Specifically, they should have three years of experience as a full-time database developer in an enterprise environment. * Knowledge about the locking model. Specifically, students should have an understanding of lock modes, lock objects and isolation levels and be familiar with process blocking. * Understanding of Transact-SQL syntax and programming logic. Specifically, students should be completely fluent in advanced queries, aggregate queries, subqueries, user-defined functions, cursors, control of flow statements, CASE expressions, and all types of joins. * Knowledge about the trade offs when backing out of the fully normalized design and designing for performance and business requirements in addition to being familiar with design models, such as Star and Snowflake schemas. They should be able to design a database to third normal form (3NF). * Strong monitoring and troubleshooting skills, including usage of monitoring tools. * Basic knowledge of the operating system and platform. That is, how the operating system integrates with the database, what the platform or operating system can do, and how interaction between the operating system and the database works. * Basic knowledge of application architecture. That is, how applications can be designed in three layers, what applications can do, how interaction between the application and the database works, and how the interaction between the database and the platform or operating system works. * Knowledge of using a data modeling tool. * Knowledge of SQL Server 2005 features, tools, and technologies. * Have a Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 credential – or equivalent experience.

Course PDF


Share this Course


Recommend this Course