Course Overview
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.
Microsoft
Certified Technology Specialist, MCTS, Certification Exam :
Exam 70-432 : TS :
Microsoft SQL Server 2008, Implementation and Maintenance
Audience Profile
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.
At Course
Completion
After completing this course, students 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.
• Describe and implement target use cases of SQL CLR integration.
• Describe and implement XML data and schema in SQL Server.
• Use FOR XML and XPath queries.
• Describe and use spatial data types in SQL Server.
• Implement and query full-text indexes.
Prerequisites
Before attending this course, students must have:
• Working knowledge of Transact-SQL (ability to write
Transact-SQL queries) or Course 2778A: Writing Queries Using
Microsoft SQL
Server 2008 Transact-SQL
• Working knowledge of relational databases (database design
skills).
• Core Windows Server skills.
• Basic programming language.
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
After completing this module, students will be able to:
• Describe the SQL Server Platform.
• Work with SQL Server Tools.
• Configure SQL Server Services.
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
After completing this module, students will be able to:
• Work with data types.
• Work with character data.
• Convert between data types.
• Use specialized 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
After completing this module, students will be able to:
• Design tables.
• Work with schemas.
• Create and alter 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
After completing this module, students will be able to:
• Explain the role of views in database development.
• Implement views.
• Describe the performance related impacts of views.
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
After completing this module, students will be able to:
• Explain core indexing concepts.
• Describe the effectiveness of each data type common used in
indexes.
• Plan for single column and composite 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
After completing this module, students will be able to:
• Explain how tables can be structured in SQL Server
databases.
• Work with clustered indexes.
• Design effective clustered indexes
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
After completing this module, students will be able to:
• Explain the core concepts related to the use of execution
plans.
• Describe the role of the most common execution plan elements.
• Work with execution plans.
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
After completing this module, students will be able to:
• Design effective nonclustered indexes.
• Implement nonclustered indexes.
• Use the Database Engine Tuning Advisor to design indexes.
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
After completing this module, students will be able to:
• Describe the role of stored procedures and the potential
benefits of using them.
• Work with stored procedures.
• Implement parameterized stored procedures.
• Control the execution context of a stored procedure.
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
After completing this module, students will be able to:
• Use the MERGE statement.
• Implement table types.
• Use TABLE types as parameters.
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
After completing this module, students will be able to:
• Describe the role of transactions.
• Explain the role of locks.
• Manage locking.
• Work with 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
After completing this module, students will be able to:
• Design T-SQL error handling.
• Implement T-SQL error handling.
• Implement structured exception handling.
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
After completing this module, students will be able to:
• Design and implement scalar functions.
• Design and implement table-valued functions.
• Describe implementation considerations for functions.
• Describe alternatives to functions.
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
After completing this module, students will be able to:
• Explain the available options for enforcing data integrity
and the levels at which they should be applied.
• Describe how domain integrity can be maintained.
• Describe how entity and referential integrity can be
maintained.
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
After completing this module, students will be able to:
• Design DML triggers.
• Implement DML triggers.
• Explain advanced DML trigger concepts.
Module 16: Implementing Managed Code in
SQL Server
This module describes the implementation of and target
use-cases for SQL CLR integration.
Lessons
• Introduction to SQL CLR Integration
• Importing and Configuring Assemblies
• Implementing SQL CLR Integration
Lab : Implementing Managed Code in SQL Server
• Assessing Proposed CLR Code
• Implementing a CLR Assembly
• Implementing a CLR User-defined Aggregate and User-defined Type
After completing this module, students will be able to:
• Explain the importance of SQL Server CLR Integration.
• Import and configure assemblies.
• Implement objects that have been created within .NET
assemblies.
Module 17: Storing XML Data in SQL Server
This module covers the XML data type, schema collections,
typed and untyped columns and appropriate use cases for XML in
SQL Server.
Lessons
• Introduction to XML and XML Schemas
• Storing XML Data and Schemas in SQL Server
• Implementing the XML Data Type
Lab : Storing XML Data in SQL Server
• Appropriate Usage of XML Data Storage in SQL Server
• Investigating the Storage of XML Data in Variables
• Investigating the Use of XML Schema Collections
• Investigating the Creation of Database Columns Based on XML
After completing this module, students will be able to:
• Describe XML and XML schemas.
• Store XML data and associated XML schemas in SQL Server.
• Implement the XML data type within SQL Server
Module 18: Querying XML Data in SQL Server
This module covers the basics of FOR XML and XPath Queries.
Lessons
• Using the T-SQL FOR XML Statement
• Getting Started with XQuery
• Shredding XML
Lab : Querying XML Data in SQL Server
• Learning to Query SQL Server Data as XML
• Writing a Stored Procedure Returning XML
• Writing a Stored Procedure that Updates Using XML
After completing this module, students will be able to:
• Use the T-SQL FOR XML statement.
• Work with basic XQuery queries.
• Shred XML to a relational form.
Module 19: Working with SQL Server Spatial
Data
This module describes spatial data and how this data can be
implemented within SQL Server.
Lessons
• Introduction to Spatial Data
• Working with SQL Server Spatial Data Types
• Using Spatial Data in Applications
Lab : Working with SQL Server Spatial Data
• Familiarity With Geometry Data Type
• Adding Spatial Data to an Existing Table
• Business Application of Spatial Data
After completing this module, students will be able to:
• Describe the importance of spatial data and the industry
standards related to it.
• Explain how to store spatial data in SQL Server.
• Perform calculations on and query SQL Server spatial data.
Module 20: Working with Full-Text Indexes
and Queries
This module covers full text indexes and queries.
Lessons
• Introduction to Full-Text Indexing
• Implementing Full-Text Indexes in SQL Server
• Working with Full-Text Queries
Lab : Working with Full-Text Indexes and Queries
• Implementing a Full-Text Index
• Implementing a Stoplist
• Creating a Stored Procedure to Implement a Full-Text Search
After completing this module, students will be able to:
• Describe why user interfaces in existing applications are
not sufficient for end user search needs.
• Implement full-text indexes in SQL Server.
• Query SQL Server using full-text queries.