Microsoft training courses, Cisco training courses, Prince2 training courses, ISEB training courses with locations nationwide
Call now to speak to an experienced Training Advisor
 
     
 
         
 
 
Thousands of Microsoft, ISEB, ITIL, Cisco and Prince2 Training Courses and more
 
 
Browse Microsoft Training Courses

SQL Server 2000/2005: Developing High-Performance Databases

Course Code: MSQ-DH      Days: 5
Show all Microsoft Courses
Call for Latest Dates
Call us on 0870 7777 388 for availability on this course.
Have questions or need a better city/date? Ask now.

Course Overview

To fully exploit the powerful features of Microsoft SQL Server, developers and designers must acquire an in-depth knowledge of SQL Server's storage engine, query optimiser and lock manager.

This course provides the details of SQL Server's internal architecture. Through hands-on exercises, you gain the skills needed to achieve a highperformance SQL Server database solution.

Audience

This course is valuable for those responsible for increasing the performance and efficiency of SQL Server databases. Course 532, " SQL Server 2000 Transact-SQL Programming ", or Course 133, " SQL Server 2005 Server-Side Programming ", is assumed. Familiarity with logical database design is also assumed.

Skills Gained

  • Design and implement high-performance databases for SQL Server 2005 and 2000
  • Create indexes that optimise different types of queries
  • Design transactions that maximise concurrency and minimise contention
  • Interpret the data access plans produced by the query optimiser
  • Minimise I/O by designing efficient physical data structures
  • Improve response time by introducing controlled redundancy
  • Analyse and cure performance problems using SQL Server's tools

Course Outline

Fundamental Concepts

Analysing performance

  • Selecting an appropriate monitoring tool
  • Investigating plans with SHOWPLAN_ALL
  • Interpreting STATISTICS output
  • Pinpointing performance problems with aggregated Profiler data

Developing a monitoring plan

  • Establishing a performance baseline
  • Tracking changes over time
  • Creating server-side Profiler traces
  • Monitoring SQL Server and the operating system with System Monitor

Managing Storage

Database architecture

  • Page and extent allocation
  • Controlling data placement with file groups

Defining tables

  • Selecting the correct data types
  • Specifying text and image locations
  • Examining internal page structures

Creating and managing indexes

  • Clustered vs. non-clustered
  • Defining indexed views
  • Analysing and repairing fragmentation

Memory and Locking

Managing memory

  • Buffer pool
  • Buffer manager
  • Lazywriter
  • Checkpointing
  • Log writer

Designing transactions

  • Consistency vs. concurrency
  • Investigating lock types and their compatibility
  • Choosing isolation levels
  • Designing transactions to limit lock duration
  • Supporting optimistic concurrency

Optimising Queries

Query optimiser architecture

  • Phases
  • Strategies
  • Data access plans
  • Auto-parameterisation
  • Avoiding continuous recompilation of dynamic queries

Maintaining up-to-date statistics

  • Index vs. column
  • Automatic vs. manual
  • Full-scan vs. sample

Distinguishing among query types

  • Point
  • Multipoint
  • Range
  • Prefix match
  • Extremal
  • Ordering
  • Grouping
  • Join

Designing effective indexes

  • Providing alternate access paths
  • Improving join performance
  • Increasing sort efficiency
  • Reducing I/O with covering indexes
  • Getting design advice from built-in tuning tools

Designing a Physical Data Model

Storing summarised data for faster retrieval

  • Defining roll-up tables
  • Materialising aggregated data with indexed views

Minimising response time by introducing redundant data

  • Maintaining redundant data with triggers
  • Enhancing performance with surrogate keys

Solving performance problems by redefining the database structure

  • Partitioning data
  • Creating a read-only query database

Scaling out with distributed partitioned views

  • Designing a federated database
  • Implementing a routing strategy for updates


How to make a booking for the MSQ-DH course

 
  CourseMonster books thousands of public training courses, classes and boot camps both in London and throughout the UK including: Berkshire, Birmingham, Bristol, Bournemouth, Bucks, Cambridge, Derby, Devon, Edinburgh, Glasgow, Hampshire, Ipswich, Leeds, Leicester, Luton, Manchester, Middlesex, Milton Keynes, Norfolk, Nottingham, Reading, Surrey, Sussex, Tyne and Wear, Midlands and Yorkshire. Topics range from software to administration and development.  
     
CourseMonster® Patent Pending © SeaKom, All Rights Reserved - Channel partners with Business Training Partnership