SQL Server // 6232R2

Implementing and Maintaining Microsoft SQL Server 2008 R2 Database

Latest Curriculum from Microsoft. Create and implement databases using SQL Server 2008.

Course Description

This five-day instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database on SQL Server 2008 R2. In this course, students learn the skills and best practices on how to use SQL Server 2008 R2 product features and tools related to implementing a database server.

Audience

This course is intended for IT Professionals who want to become skilled on SQL Server 2008 R2 product features and technologies for implementing a database. To be successful in this course, the student should have knowledge of basic relational database concepts and writing T-SQL queries

Prerequisites

Before attending this course, students must have:
  • Working knowledge of Transact-SQL (ability to write Transact-SQL queries) or Course SQL200: Introduction to Transact-SQL
  • Working knowledge of relational databases (database design skills).
  • Core Windows Server skills.
  • Basic programming language.

What You Will Learn

After completing this course, you will be able to:

  • Understand the product, its components, and basic configuration.
  • Work with the data types supported by SQL Server.
  • Design and implement tables and work with schemas.
  • Design and implement views and partitioned views.
  • Describe the concept of an index and determine the appropriate data type for indexes and composite index structures.
  • Identify the appropriate table structures and implement clustered indexes and heaps.
  • Describe and capture execution plans.
  • Design and implement non-clustered indexes, covering indexes, and included columns.
  • Design and implement stored procedures.
  • Implement table types, table valued parameters, and the MERGE statement.
  • Describe transactions, transaction isolation levels, and application design patterns for highly-concurrent applications.
  • Design and implement T-SQL error handling and structured exception handling.
  • Design and implement scalar and table-valued functions.
  • Design and implement constraints.
  • Design and implement triggers.

Course Outline

Module 1: Introduction to SQL Server and its Toolset 
This module introduces you to the entire SQL Server platform and its major tools. This module also covers editions, versions, basics of network listeners, and concepts of services and service accounts.
Lessons
·         Introduction to SQL Server Platform
·         Working with SQL Server Tools
·         Configuring SQL Server Services
Lab : Introduction to SQL Server and its Toolset
·         Verifying SQL Server Component Installation
·         Altering Service Accounts for New Instance
·         Enabling Named Pipes Protocol for Both Instances
·         Creating Aliases for AdventureWorks and Proseware
·         Ensuring SQL Browser is Disabled and Configure a Fixed TCP/IP Port
Module 2: Working with Data Types 
This module describes the data types supported by SQL Server and how to work with them.
Lessons
·         Using Data Types
·         Working with Character Data
·         Converting Data Types
·         Working with Specialized Data Types
Lab : Working with Data Types
·         Choosing Appropriate Data Types
·         Writing Queries With Data Type Conversions
·         Designing and Creating Alias Data Types
Module 3: Designing and Implementing Tables 
This module describes the design and implementation of tables.
Lessons
·         Designing Tables
·         Working with Schemas
·         Creating and Altering Tables
Lab : Designing and Implementing Tables
·         Improving the Design of Tables
·         Creating a Schema
·         Creating the Tables
Module 4: Designing and Implementing Views 
This module describes the design and implementation of views.
Lessons
·         Introduction to Views
·         Creating and Managing Views
·         Performance Considerations for Views
Lab : Designing and Implementing Views
·         Designing, Implementing and Testing the WebStock Views
·         Designing and Implementing the Contacts View
·         Modifying the AvailableModels View
Module 5: Planning for SQL Server Indexing
This module describes the concept of an index and discusses selectivity, density, and statistics. It covers appropriate data type choices and choices around composite index structures.
Lessons
·         Core Indexing Concepts
·         Data Types and Indexes
·         Single Column and Composite Indexes
Lab : Planning for SQL Server Indexing
·         Exploring Existing Index Statistics
·         Designing Column Orders for Indexes
Module 6: Implementing Table Structures in SQL Server 
This module covers clustered indexes and heaps.
Lessons
·         SQL Server Table Structures
·         Working with Clustered Indexes
·         Designing Effective Clustered Indexes
Lab : Implementing Table Structures in SQL Server
·         Creating Tables as Heaps
·         Creating Tables with Clustered Indexes
·         Comparing the Performance of Clustered Indexes vs. Heaps
Module 7: Reading SQL Server Execution Plans
This module introduces the concept of reading execution plans.
Lessons
·         Execution Plan Core Concepts
·         Common Execution Plan Elements
·         Working with Execution Plans
Lab : Reading SQL Server Execution Plans
·         Actual vs. Estimated Plans
·         Identify Common Plan Elements
·         Query Cost Comparison
Module 8: Improving Performance through Nonclustered Indexes 
This module explains nonclustered indexes, covering indexes and included columns.
Lessons
·         Designing Effective Nonclustered Indexes
·         Implementing Nonclustered Indexes
·         Using the Database Engine Tuning Advisor
Lab : Improving Performance through Nonclustered Indexes
·         Reviewing Nonclustered Index Usage
·         Improving Nonclustered Index Designs
·         Using SQL Server Profiler and Database Engine Tuning Advisor
·         Nonclustered Index Design
Module 9: Designing and Implementing Stored Procedures 
This module describes the design and implementation of stored procedures.
Lessons
·         Introduction to Stored Procedures
·         Working With Stored Procedures
·         Implementing Parameterized Stored Procedures
·         Controlling Execution Context
Lab : Designing and Implementing Stored Procedures
·         Creating Stored Procedures
·         Creating a Parameterized Stored Procedure
·         Altering the Execution Context of Stored Procedures
Module 10: Merging Data and Passing Tables 
This module covers table types, table valued parameters and the MERGE statement as used in stored procedures.
Lessons
·         Using the MERGE Statement
·         Implementing Table Types
·         Using Table Types as Parameters
Lab : Merging Data and Passing Tables
·         Creating a Table Type
·         Using a Table Type Parameter
·         Using a Table Type with MERGE
Module 11: Creating Highly Concurrent SQL Server Applications 
This module covers transactions, isolation levels, and designing for concurrency.
Lessons
·         Introduction to Transactions
·         Introduction to Locks
·         Management of Locking
·         Transaction Isolation Levels
Lab : Creating Highly Concurrent SQL Server Applications
·         Detecting Deadlocks
·         Investigating Transaction Isolation Levels
Module 12: Handling Errors in T-SQL Code 

This module describes structured exception handling and gives solid examples of its use within the design of stored procedures.

Lessons
·         Designing T-SQL Error Handling
·         Implementing T-SQL Error Handling
·         Implementing Structured Exception Handling
Lab : Handling Errors in T-SQL Code
·         Replacing @@ERROR Based Error Handling With Structured Exception Handling
·         Adding Deadlock Retry Logic to the Stored Procedure
Module 13: Designing and Implementing User-Defined Functions
This module describes the design and implementation of functions, both scalar and table-valued.
Lessons
·         Designing and Implementing Scalar Functions
·         Designing and Implementing Table-valued Functions
·         Implementation Considerations for Functions
·         Alternatives To Functions
Lab : Designing and Implementing User-Defined Functions
·         Formatting Phone Numbers
·         Modifying an Existing Function
·         Resolving a Function-related Performance Issue
Module 14: Ensuring Data Integrity through Constraints 
This module describes the design and implementation of constraints.
Lessons
·         Enforcing Data Integrity
·         Implementing Domain Integrity
·         Implementing Entity and Referential Integrity
Lab : Ensuring Data Integrity through Constraints
·         Designing Constraint
·         Testing the Constraints
Module 15: Responding to Data Manipulation via Triggers 
This module describes the design and implementation of triggers.
Lessons
·         Designing DML Triggers
·         Implementing DML Triggers
·         Advanced Trigger Concepts
Lab : Responding to Data Manipulation via Triggers
·         Creating the Audit Trigger
·         Improving the Audit Trigger