Learning Tree International

SQL Server Courses

0800 282 353 or +44 1372 364610
 

Request Info

Salutation

First Name

Last Name

Job Title

Company

Post Code

Country
List

Office Telephone

Extension

E-mail

A representative will contact you to follow up your request.

Save 50%
 

Developing High-Performance SQL Server® Databases: Hands-On


Course 5355 days

  E-mail a Colleague  Print Friendly  FAQ  Course Details PDF

Quick Enrol

You Will Learn How To

  • Design and implement high-performance databases for SQL Server
  • 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
  • Analyse and cure performance problems using SQL Server's tools

Course Benefits

High-availability database systems offer timely access to business-critical data. Microsoft SQL Server offers powerful features to maintain these vital systems. In this course, you acquire an in-depth knowledge of SQL Server's core components—the storage engine, lock manager and query optimiser. Through hands-on exercises, you gain the skills to implement a high-performance SQL Server database solution.

Who Should Attend

Those responsible for increasing the performance and efficiency of SQL Server databases. Knowledge of SQL at the level of Course 532, "SQL Server Transact-SQL Programming", and a familiarity with logical database design are assumed.

Hands-On Training

Hands-on exercises provide experience developing high-performance SQL Server databases. Exercises include:
  • Monitoring and analysing performance
  • Developing a performance baseline
  • Setting up a server-side Profiler trace
  • Eliminating extent fragmentation
  • Inspecting procedures in the procedure cache
  • Creating indexes for different query types
  • Improving performance with indexed views
  • Implementing partitioning solutions

Course Content

Fundamental Concepts

Analysing performance

  • Selecting an appropriate monitoring tool
  • Investigating plans with SHOWPLAN_ALL
  • Interpreting STATISTICS IO 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. nonclustered
  • Defining indexed views
  • Analysing and repairing fragmentation

Memory and Locking

Managing memory

  • Buffer pool
  • Buffer manager
  • Lazywriter
  • Checkpoint
  • Log writer

Designing transactions

  • Consistency vs. concurrency
  • Investigating lock types and their compatibility
  • Choosing isolation levels
  • Designing transactions to limit lock duration
  • Resolving contention problems
  • Handling deadlock
  • Implementing row versioning

Optimising Queries

Query optimiser architecture

  • Phases
  • Strategies
  • Data access plans
  • Auto-parameterisation
  • Avoiding recompilation of 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

  • Relating indexes to query types
  • Providing alternate access paths
  • Improving join performance
  • Increasing sort efficiency
  • Reducing I/O with covering indexes
  • Implementing sparse 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
  • Creating a read-only query database

Solving performance problems with partitioning strategies

  • Horizontal vs. vertical partitioning
  • Partitioning tables
  • Defining partitioned views

Managing diverse workloads

  • Creating resource pools and workload groups
  • Developing a classifier function

<< Back to SQL Server Course List

Related Courses


SQL Server is a registered trademark of Microsoft Corporation.
 
High-Performance SQL Server Databases
Developing High-Performance SQL Server Databases: Hands-On

Course Dates

10-14 MayLondon enrol
6-10 SepLondon enrol
10-14 JanLondon enrol

Attend highlighted events
in person or online with Learning Tree AnyWareTM.

More Dates and locations.

On-Site &
Custom Training

Bring this or any Learning Tree course to your location or have it customised for your organisation.

Tuition

£ 2,145 Standard Tuition
Tuition with a Savings Plan
£ 1,000Flex-Training Pass
£ 1,25010-Day Training Pass
£ 1,520Voucher 10-Pack
£ 1,935Alumni Gold Discount
 
Developing High-Performance SQL Server Databases: Hands-On

Participants exploring query optimiser plans.

The most recent 100 evaluations scored this course:

  (3.81/4.00)

 
"After I attended my course, I explained to our manager that Learning Tree uses instructors who are actively working in the industry. Then a couple of colleagues took the same course to evaluate it, and they were very impressed as well. The outcome was that we now use Learning Tree. For me—out of all the places I've been—I find they have the best technical training".

P. Rawson
Senior UNIX Operator
ING Bank



Certification Core Course
 
SQL Server 2008 R2 Coming Soon
 
SQL Server 2005 for the Enterprise