Course Outline. SQL Server Performance & Tuning. Course Description: Pre-requisites: Course Content: Performance & Tuning Sizing & Planning

Similar documents
W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD.

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

Mind Q Systems Private Limited

Microsoft SQL Database Administrator Certification

SQL Server 2012 Database Administration With AlwaysOn & Clustering Techniques

Server 2008 SQL. Administration in Action ROD COLLEDGE MANNING. Greenwich. (74 w. long.)

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

MS SQL Server 2014 New Features and Database Administration

MOC 20462C: Administering Microsoft SQL Server Databases

Would-be system and database administrators. PREREQUISITES: At least 6 months experience with a Windows operating system.

SQL Server 2008 Designing, Optimizing, and Maintaining a Database Session 1

Query Performance Tuning: Start to Finish. Grant Fritchey

MS SQL Performance (Tuning) Best Practices:

The Database is Slow

Course 55144B: SQL Server 2014 Performance Tuning and Optimization

SQL Server 2012 Query. Performance Tuning. Grant Fritchey. Apress*

Upon completion of the program, students are given a full support to take and pass Microsoft certification examinations.

Inside Microsoft SQL Server 2005: The Storage Engine

Performance Tuning and Optimizing SQL Databases 2016

Course Outline. SQL Server 2014 Performance Tuning and Optimization Course 55144: 5 days Instructor Led

SQL Server Performance Tuning and Optimization

AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014

Microsoft SQL Server: MS Performance Tuning and Optimization Digital

Solving Performance Problems In SQL Server by Michal Tinthofer

"Charting the Course... MOC AC SQL Server 2014 Performance Tuning and Optimization. Course Summary

W I S E. SQL Server 2012 Database Engine Technical Update WISE LTD.

NUTECH COMPUTER TRAINING INSTITUTE 1682 E. GUDE DRIVE #102, ROCKVILLE, MD WEB: TEL:

FHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r

Microsoft SQL Server performance tuning for Microsoft Dynamics NAV

SQL Server 2014 New Features/In- Memory Store. Juergen Thomas Microsoft Corporation

Administering Microsoft SQL Server 2012 Databases

Course 55144: SQL Server 2014 Performance Tuning and Optimization

Understanding SQL Server Execution Plans. Klaus Aschenbrenner Independent SQL Server Consultant SQLpassion.at

50238: Introduction to SQL Server 2008 Administration

PERFORMANCE TUNING IN MICROSOFT SQL SERVER DBMS

MS-40074: Microsoft SQL Server 2014 for Oracle DBAs

Optimizing Performance. Training Division New Delhi

SQL Server Query Tuning

Course 20464: Developing Microsoft SQL Server Databases

Resource Governor, Monitoring and Tracing. On SQL Server

Oracle Database 11g: SQL Tuning Workshop

SQL Server 2008 Performance and Scale

Outline. MCSE: Data Platform. Course Content. Course 10776C: MCSA: Developing Microsoft SQL Server 2012 Databases 5 Days

20464C: Developing Microsoft SQL Server Databases

6231B: Maintaining a Microsoft SQL Server 2008 R2 Database

Developing Microsoft SQL Server Databases 20464C; 5 Days

Oracle Database 11g: SQL Tuning Workshop Release 2

SQL Server 2014 Performance Tuning and Optimization 55144; 5 Days; Instructor-led

ONSITE TRAINING CATALOG

LearnFromGuru Polish your knowledge

form approved June/2006 revised Nov Page 1 of 7

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

Microsoft SQL Server 2012 Administration

The team that wrote this redbook Comments welcome Introduction p. 1 Three phases p. 1 Netfinity Performance Lab p. 2 IBM Center for Microsoft

6231A - Maintaining a Microsoft SQL Server 2008 Database

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

Optimising SQL Server CPU performance

Module 15: Monitoring

MOC Administering Microsoft SQL Server 2014 Databases

Infor LN Performance, Tracing, and Tuning Guide for SQL Server

SQL Server Performance Tuning and Optimization. Plamen Ratchev Tangra, Inc.

The Complete Performance Solution for Microsoft SQL Server

Administering Microsoft SQL Server 2012 Databases

IBM DB2: LUW Performance Tuning and Monitoring for Single and Multiple Partition DBs

Curriculum Selection for PTR SQL Server Courses Choose the Right Training. PTR Associates Ltd.

How To Improve Performance In A Database

Maintaining a Microsoft SQL Server 2008 Database

Dynamics NAV/SQL Server Configuration Recommendations

Explain how to prepare the hardware and other resources necessary to install SQL Server. Install SQL Server. Manage and configure SQL Server.

This presentation is an introduction to the SQL Server Profiler tool.

Oracle DBA Course Contents

WW TSS-02\03 MS SQL Server Extended Performance & Tuning

EZManage V4.0 Release Notes. Document revision 1.08 ( )

Diagnosing and Resolving Latch Contention on SQL Server

Advanced Oracle SQL Tuning

$99.95 per user. SQL Server 2008/R2 Database Administration CourseId: 157 Skill level: Run Time: 47+ hours (272 videos)

Seminar 5. MS SQL Server - Performance Tuning -

Developing Microsoft SQL Server Databases

CHAPTER 8: OPTIMIZATION AND TROUBLESHOOTING

SQL Server 2008 Administration

Microsoft SQL Server OLTP Best Practice

Below are the some of the new features of SQL Server that has been discussed in this course

DBMS / Business Intelligence, SQL Server

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Before attending this course, participants should have:

PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview:

DB Audit Expert 3.1. Performance Auditing Add-on Version 1.1 for Microsoft SQL Server 2000 & 2005

Hekaton: SQL Server s Memory-Optimized OLTP Engine

Exam Number/Code : Exam Name: Name: PRO:MS SQL Serv. 08,Design,Optimize, and Maintain DB Admin Solu. Version : Demo.

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

SQL Server 2016 New Features!

Developing Microsoft SQL Server Databases (20464) H8N64S

Course Outline: Course 6317: Upgrading Your SQL Server 2000 Database Administration (DBA) Skills to SQL Server 2008 DBA Skills

Course. Overview. Length: 5 Day(s) Published: English. IT Professionals. Level: Type: Method: Delivery. Enroll now (CAL)

SQL Server 2014 In-Memory Tables (Extreme Transaction Processing)

MCTS Microsoft SQL Server 2005 Implementation & Maintenance

Microsoft SQL Server 2008 Administrator's Pocket Consultant

Understanding Query Processing and Query Plans in SQL Server. Craig Freedman Software Design Engineer Microsoft SQL Server

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

Transcription:

SQL Server Performance & Tuning Course Description: The objective of this course is to provide senior database analysts, developers or database administrators with a good understanding of SQL Server Architecture and Query Performance so that applications and their supporting environment can be tuned for optimal performance. The course will provide delegates with the knowledge required to size, plan, monitor, tune and troubleshoot a SQL Server application for either a OLTP live environment or a OLAP data warehousing environment. Everything from Operating System & SQL Server service tuning through to query and index tuning will be covered. It is a hands on course with performance and analysis tools being put to use throughout. Delegates will learn how to capture and analyse performance data to enable troubleshooting of performance problems using tools such as Performance Monitor, SQL Profiler, Extended Events and Dynamic Management Views. They will learn how to interpret query execution plans to determine where the cause of bottlenecks lies and how to tune the queries for best performance. Covers SQL Server 2005, SQL Server 2008, SQL Server 2012 and SQL Server 2014 Pre-requisites: Delegates should have extensive experience with SQL Server 2005 or later, and should have a querying knowledge level equivalent to that provided by the PTR Advanced SQL Server Database Querying and Transact SQL Programming Courses. A grasp of the basic SQL Server administration processes is also required. Course Content: Performance & Tuning Sizing & Planning Planning Sizing Sizing & Planning Considerations

Monitoring Performance Analyzing Performance Data Tuning & Optimising Performance Application Tuning Database Tuning: Normalised, De- Normalised, Indexing, Constraints SQL Server Tuning Hardware Tuning Operating System Tuning Useful Tuning Tips Memory Management Operating System Memory Limitations Virtual Memory Model: Physical RAM, Pagefile, Page Faults, Paging Reserved & Committed Memory Process Address Space 32-bit & 64-bit Platforms SQL Server & Memory Management Memory Pool The Buffer Cache Shared Memory Viewing Memory Performance: Task Manager, Performance Monitor, Pviewer

Process & Thread Management Windows Thread Scheduling Quantum Units & Clock Interval Thread States & Thread Priorities Process Priority Levels & Thread Priority Levels Foreground V Background Processes The Processor Queue SQL Server & Threads and Processes SQLOS & Thread Scheduling Worker Thread Pooling SQL Server & CPU Limits Monitoring Processes & Threads: Task Manager, Performance Monitor, Pviewer I/O Management Windows I/O Synchronous I/O & Asynchronous I/O Buffered I/O & Nonbuffered I/O SQL Server & I/O Disk Drives & Disk Geometry Rotational Latency & Disk Seek Time Sequential I/O & Random I/O SQL Server Transaction Log File RAID: RAID 0, RAID 1, RAID 5, RAID 10 RAID Performance Solid State Storage (SSD) SQL Server & RAID: Operating System, Transaction Log, Data Files, TempDB Buffer Pool Extension SQL Server & Disk Performance Monitoring Disk Performance: Performance Monitor

Networking Named Pipes Shared Memory TCP/IP (Sockets) Encryption Network Performance SQL Server Architecture The Network Library The Database Engine Relational Engine: Parser, Optimizer, Compiler, Open Data Services (ODS), The SQL Manager, Expression Manager, The Query Executor The Storage Engine: Transaction Manager, Page Manager &Text Manager, Access Methods Manager, Lock Manager, File/Device Manager, Buffer Manager, Log Manager, Sort Manager Data Storage: Data Files, Transaction Log File, Filegroups Units Of Storage: Pages, Mixed Extents & Uniform Extents Data Page Types: Data Page, Index Page, Text/Image Page Internal Page Types: Page Free Space (PFS) Page, Global Allocation Map (GAM), Shared Global Allocation (SGAM) Page, Index Allocation Map (IAM) Page, Bulk Changed Map (BCM) Page, Differential Changed Map (DCM) Page Data File Page Structure: Locating Data, Table Scans, Index Seeks Transaction Logging: Architecture, Virtual Logs, Truncation, Checkpoints, Recovery Interval Viewing Index and Data Pages: DBCC IND, DBCC PAGE, sys,indexes, sys.partitions, sys.system_internals_allocation_units Viewing Transaction Log Content: fn_dblog, fn_dblog_dump, DBCC LOGINFO

SQL Server & Virtualisation Key Virtualisation Considerations: Performance, Complexity, Vendor Support Processor Best Practices: Physical to Virtual CPU ratios Virtual memory Best Practices: Hot-add RAM, Lock Pages In Memory Storage Best Practices: Virtual Hard Disks (Fixed, Dynamic, Differencing) or Raw Disks (pass-through) Tiered Storage Solutions: Flash (SSD) and SATA Virtualization & Availability High Availability & Disaster Recovery Planning For A SQL Server Database Application HA & DR Methods: Log Shipping, Database Mirroring, Clusters, AlwaysON Availability Groups, Replication Performance Considerations: Latency, Load, Like for Like Capacity Planning Processors Memory Disk Network

System Performance & Tuning What Is Performance? Bottlenecks Measuring Performance What Is Tuning? Fix The Right Bottleneck Processor Bottleneck I/O Bottleneck Memory Bottleneck sp_configure SQL Server CPU Tuning SQL Server Memory Tuning IO Tuning Performance Monitor Performance Objects, Counters & Instances Viewing System Activity: Chart View, Report View, Histogram View Performance Logs & Alerts: Data Collections Counter Types: Instantaneous, Averaging, Delta Processor or System Counters: Processor Queue Length & Usage, Context Switches, etc. Memory Usage Counters: Physical Memory, Virtual Memory, Paging, etc. Disk Counters: Disk Queue Length & Usage, Disk Reads, Disk Writes, etc. SQL Server Performance Objects & Counters: File Sizes, Log Usage, Buffer Cache, Procedure Cache, Locks & Latches, Recompilations, etc. Network Counters

SQL Profiler Trace Events: Event Classes, Events, Data Columns, Filters Saving Trace Data Retrieving Trace Data From A Trace Table Retrieving Trace Data From A Trace File Server Side Tracing: sp_trace_create, sp_trace_setevent, sp_set_filter, sp_trace_setstatus Analysing Trace Data CPU Usage and Long Running Statements Heavy I/O Users Detecting Deadlocks Inefficient Stored Procedure Caching Transaction Performance Auditing With Traces Coalescing Performance Logs With Profiler Trace Files Profiler Replay

Extended Events Introduction to Extended Events Extended Events Sessions Events: Event Fields Actions Filters Targets: Event Files, Ring Buffer, Event Counter, Histogram, Pair Matching Buffer Size Event Retention Creating Extended Events Sessions: TSQL, SSMS GUI Viewing Captured Data Troubleshooting blocking & deadlocking Track long running queries Identify Missing Statistics Identify Long Running IO Operations Identify Memory Pressures SSMS Reports Standard Reports Custom Reports Performance Dashboard DBCC DBCC SQLPERF DBCC SHOW_STATISTICS DBCC SHOWCONTIG DBCC PROCCACHE DBCC MEMORYSTATUS DBCC IND DBCC PAGE DBCC LOGINFO

The Data Collector Configuring The Data Collection Service Configure Management Data Warehouse Configure Data Collection Viewing The Collected Data Log Viewer Data Collection Properties for Query Statistics Data Collection Properties for Server Activity Data Collection Properties for Disk Usage Data Collection & Upload: Manually & Scheduled Queries on msdw Database View Data Collection Reports

Dynamic Management Views & Functions SQLOS Views: sys.dm_os_ Waiting Stat Views: e.g. sys.dm_os_wait_stats, sys.dm_os_waiting_tasks Memory Views: e.g. sys.dm_os_memory, sys.dm_os_process_memory SQL Server Instance Views: e.g. sys.dm_os_sys_info, sys.dm_os_tasks Sessions Views: e.g. sys.dm_exec_sessions, sys.dm_exec_connections, sys.dm_exec_requests Query Plan Views: e.g. sys.dm_exec_cached_plans, sys.dm_exec_sql_text, sys.dm_exec_query_plan IO Views: e.g. sys.dm_io_pending_io_requests Locking views: e.g. sys.dm_tran_locks Buffer Cache Views: e.g. sys.dm_os_buffer_descriptors Index Views: e.g. sys.dm_db_index_operational_stats, sys.dm_db_index_physical_stats, sys.dm_db_index_usage_stats Query Optimizer Views: sys.dm_exec_query_optimizer_info, sys.dm_exec_query_transformation_stats And many more Optimal Database Design Database Design: OLTP Databases, OLAP Databases, Hybrid Database Table Design Table Constraints Triggers & Stored Procedures Client Side Programming

Indexing Indexing Strategy: OLTP, OLAP, Hybrid Index Architecture: B-Tree Index, Nonclustered B-Tree, Clustered B-Tree UNIQUE & DUPLICATE Index NONCLUSTERED & CLUSTERED Index Covering Index INCLUDE Index Filtered Index New features in 2012/2014 Columnstore Indexes Index Optimisation Creating Indexes Index Views: sys.indexes, sys.partitions, sys.system_internals_allocation_units Index Optimisation: Query Optimiser, Index Statistcs, Index Selectivity Index Fragmentation: Index Depth & Density, DBCC SHOWCONTIG, sys.dm_db_index_physical_stats, Defragmenting/Rebuilding An Index Index Growth: FILLFACTOR, PADINDEX The Database Engine Tuning Advisor Monitoring Index Usage Displaying Information About Indexes Dynamic Management Views & Functions for Indexes Table Maintenance & Performance Row Migration Page fragmentation Forward Fetches Data Type Efficiency: varchar(max), nvarchar(max), varbinary(max) In-Memory OLTP

Locking Locking Granularity: Database Lock (DB), Heap or B-Tree (HOBT), Table Lock (TAB), Extent Lock (EXT), Page Lock (PAG), Row Level Lock (RID), Index-Key Lock (KEY), Key Range Lock, Application Lock (APP) Locking Modes: Shared Lock (S), Exclusive Lock (X), Update Lock (U), Intent Lock (I), Schema Stability, Schema Modification, Bulk Update Key Range Locks: RangeS-S, RangeS-U, RangeIn-Null, RangeX-X, RangeIn-S, RangeIn-U, RangeIn-X, RangeX-S, RangeX-U Locking Compatibility Transaction isolation Levels: READ COMMITTED, READ UNCOMMITTED, REPEATABLE READ, SERIALIZABLE, SNAPSHOT, READ COMMITTED SNAPSHOT Deadlocks Tools For Monitoring Locks: Activity Monitor, sp_lock, DMVs, Profiler, Extended Events, DBCC Deadlock Graph

Query Optimisation Compilation & Execution: Sequence Tree, Query Optimiser, Optimiser Rules, Simplification, Statistics Loading, Cardinality Estimation Trivial Plan Optimisation Cost-Based Optimisation Evaluating Costs: Query Analysis (SARGS), Index Selection Index Statistics: DBCC SHOW_STATISTICS, DMVs Join Selection: Nested Loop Join, Merge Join, Hash Join Updating Index Statistics Column Statistics The Query Plan Procedure Cache Query Hash & Query Plan Hash Viewing Procedure Cache Content Clearing The Procedure Cache

Analysing Queries Query Execution Plan: Graphical, SHOWPLAN_TEXT, SHOWPLAN_ALL, SHOWPLAN_XML Graphical Execution Plan: Operation Properties, The Properties Window, The Physical Operators Interpreting SHOWPLAN Results Viewing The Actual Query Plan Logical & Physical Operators Joins: Inner Joins, Outer Joins, Cross Joins, Subqueries RID Lookups & Key Lookups Compute Scalar Correlated Sub Queries Viewing IO Statistics: SET STATISTICS IO Profiler Traces and Query Plans

Database Application Tuning Tuning SQL Statements Interactive Transactions Query Timeouts Cursors Long Running Queries Comparing Queries SQL Hints Join Hints Table Hints Query Hints Using Stored Procedures & User Defined Functions Autoparameterisation Sp_executesql Stored Procedure Procedure Cache User-Defined Functions Views Partitioned Tables & Indexes Maintaining Table & Index Fragmentation Resource Governor Resource Pools & Workload Groups Resource Governor Properties Classification Function Creating A Resource Pool and Workload Group: SSMS and TSQL Implement the Classification Function Plan Guides Creating a Plan Guide Managing Plan Guides Course Duration: 5 Days