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
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
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
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
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
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
Prerequisites
Before attending this clinic, students must:
• Have experience reading user requirements and business-need documents. For example, development project vision/mission statements or business analysis reports.
• Have basic knowledge of the Microsoft .NET Framework, .NET concepts, ADO.NET, and service oriented architecture (SOA).
• Be familiar with the tasks that application developers typically perform.
• Understand Transact-SQL syntax and programming logic.
• Have some experience with professional-level database design and know the tradeoffs when backing out of the fully normalized design (denormalization) and designing for performance and business requirements, in addition to being familiar with design models such as Star and Snowflake schemas.
• Have basic monitoring and troubleshooting skills. Specifically, how to use SQL Profiler and dynamic management views.
• Have 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.
• Have 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.
• Know how to use a data modeling tool.
• Be familiar with SQL Server 2005 features, tools, and technologies.
• Have a Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 credential, or equivalent experience. |