|
Session 1: Choosing Data Access Technologies and an Object Model
This session explains how to choose data access technologies and an object
model to support an organization's business needs.
Sections
|
Introduction to Data Access Technologies |
|
Choosing Technologies for Accessing Data |
|
Building a Data Access Layer |
|
Designing Data Access from SQL Common Language Runtime (CLR)
Objects |
|
Available Data Object Models for Administering SQL
Server |
After completing this session, students will be able to:
|
Describe a typical database system and the role that data access technologies
play in that system. |
|
Select appropriate technologies for accessing data stored in SQL Server
2005. |
|
Explain how to build a data access layer. |
|
Explain how to design SQL Server objects that use the In-Process data
provider. |
|
Describe the data object models for administering SQL Server 2005 components
and objects. |
Session 2: Designing an Exception Handling Strategy
This session describes the various types of exceptions that can occur in a
database system, how to capture them, and how to manage them appropriately.
Sections
|
Exception Types and Their Purposes |
|
Detecting Exceptions |
|
Managing Exceptions |
After completing this session, students will be able to:
|
Describe the various types of exceptions that can be detected in a SQL Server
2005 system and how they affect applications and users. |
|
Design strategies to detect exceptions at the appropriate
layer. |
|
Design strategies to log and communicate exceptions according to business
requirements. |
Session 3: Choosing a Cursor Strategy
This session describes when cursors are appropriate and how to use them to
optimize the use of system resources.
Sections
|
Common Scenarios for Row-based vs. Set-based Operations |
|
Selecting Appropriate Server-side Cursors |
|
Selecting Appropriate Client-side Cursors |
After completing this module, students will be able to:
|
Explain when cursors are appropriate and when they are not. |
|
Explain the considerations for selecting server-side cursors. |
|
Explain the considerations for selecting client-side
cursors. |
Session 4: Designing Query Strategies Using Multiple Active Result
Sets
This session describes when Multiple Active Result Sets (MARS) can improve
application response time and user satisfaction.
Sections
|
Introduction to MARS |
|
Designing Query Strategies for Multiple Reads |
|
Designing Query Strategies for Mixing Reads and Writes in the Same
Connection |
|
Concurrency Considerations When Using MARS |
After completing this session, students will be able to:
|
Explain why MARS is useful, as compared to the set-based execution of SQL
Server 2000. |
|
Explain when multiple simultaneous reads can be beneficial for an
application, and explain the implications of using this technique. |
|
Explain specific scenarios in which it might be beneficial to use MARS to
combine write and read operations. |
|
Explain the locking implications of using MARS and how these locks affect
other transactions. |
Session 5: Designing Caching Strategies for Database Applications
This session describes how to optimize system resources by caching data and
objects in the appropriate layers.
Sections
|
Why Caching Is Important |
|
Data and Query Caching in SQL Server 2005 |
|
Using Caching Technologies Outside of SQL Server |
|
Custom Caching Techniques |
After completing this session, students will be able to:
|
Explain why caching is important. |
|
Explain the advantages of using the data and query caching automatically
performed by SQL Server 2005. |
|
Explain how caching data outside of SQL Server works and how to manage
conflicts that these technologies might produce. |
|
Explain the various ways to cache frequently used data, objects, and results
in the appropriate tier to improve performance. |
Session 6: Designing a Scalable Data Tier for Database
Applications
This session describes how to assess scalability needs and design the best
architecture to scale the system to meet those needs.
Sections
|
Identifying the Need to Scale |
|
Scaling Database Applications to Avoid Concurrency Contention |
|
Scaling SQL Server Database Systems |
|
Scaling Database Applications Using a Service-Oriented
Architecture |
|
Improving Availability and Scalability by Scaling Out Front-End
Systems |
After completing this session, students will be able to:
|
Identify when to scale database applications and what layer to
scale. |
|
Select an appropriate technology to avoid concurrency problems and to improve
application performance. |
|
Evaluate whether scaling out or scaling up is appropriate for the scalability
requirements of your database system. |
|
Explain how to improve middle tier processing by using multiple instances of
Web services and object pooling. |
|
Explain how to improve response time and availability by scaling out
front-end systems. |
|