Course Topics Administering SQL Server 2012 Jump Start 01 | Install and Configure SQL Server04 |...

Preview:

Citation preview

Course Topics

Administering SQL Server 2012 Jump Start

01 | Install and Configure SQL Server

04 | Manage Data

02 | Maintain Instances and Databases

05 | Implement Security

03 | Performance Optimization and Troubleshooting

06 | High Availability Options

Click to edit Master subtitle style03 | Performance Optimization and

Troubleshooting

George Squillace | Senior Technical Trainer – New Horizons Great LakesRichard Currey | Senior Technical Trainer – New Horizons United

Module 3 Overview

• Locking, Blocking, and Deadlocks

• Profiler

• Auditing

• Catalog Views and DMOs

• Data Collector and the Management Data Warehouse

Topic: Locking, Blocking and Deadlocks

Topic: Locking, Blocking, and Deadlocks

• What Are Locking, Blocking, and Deadlocks?

• How Are Locking Problems Discovered and Solved?

What Are Locking, Blocking, and Deadlocks?• Resource locking is a data integrity mechanism that restricts access to various objects while

under modification and not yet committed– Locking is natural and expected

• Examples of lockable resources are:– Key values

– Rows

– Pages

– Tables

– Files

– Databases

• Blocking occurs when one connection is waiting for other connections to release locked resources– Some blocking is expected

– Excessive blocking is undesirable

• A deadlock occurs when two connections have locked resources that are seeking each other’s locked resources before their respective transactions complete; this results in the termination of one of the connections

How Are Locking Problems Discovered and Solved?• Deadlock problems discovered by:

– Client error messages– Activity monitor– DMOs– Profiler– Trace flags– Extended Events

• Deadlock problems are solved by (OK, minimized by):– Order of objects accessed within queries / sprocs– Keeping transactions short– Isolation level– Avoiding user interaction (data browsing) during transactions

DEMOUsing Activity Monitor to Detect a Blocked Connection

Topic: Profiler

Topic: Profiler

• What Is Tracing?

• What Is Profiler?

What Is Tracing?

• Tracing permits the recording of a wide range of SQL Server activity (events within event classes) to files

• Sampling of event classes and events– Class 1• Event 1• Event 2

– Class 2• Event 3• Event 4

• Based on the use of many system stored procedures

What Is Profiler?

• Graphical user interface into the tracing stored procedures

• The “three legs” of the profiler configuration– Event classes and events– Columns– Filters

• Integrate Windows Perfmon data with profiler data

• Simple-Talk eBook on Profiler

DEMOUsing Profiler to Capture a Deadlock Graph

Topic: Auditing

Topic: Auditing

• C2 and Common Criteria

• Auditing with Triggers

• SQL Auditing

C2 and Common Criteria

• Older methods– C2, sp_Configure with ‘C2 audit mode’– Common criteria, sp_Configure with ‘common criteria

compliance enabled’

• Much overhead associated with these methods

Auditing with Triggers

• DML triggers–Write to a designated audit table on the basis of

modifications

• DDL triggers– EventData() function

• Login triggers

• Trigger limitations

SQL Auditing

• What does this feature provide compared to other types of general auditing methods?

• Based on extended events feature

• Terminology

• Server vs. database

• What are the configuration steps?

DEMOConfiguring SQL Auditing

Topic: Catalog Views and DMOs

Topic: Catalog Views and DMOs

• Purpose of catalog views and dynamic management objects (DMOs)

• Classification of DMOs

• Resources for further exploration

Purpose of Catalog Views and DMOs

• What is metadata retrieval?

• Metadata retrieval methods that have been available in the past– GUI—obtain information on one object at a time– System Stored Procs—can’t really customize– System Functions—generally retrieve information one property at a

time

• In more recent versions– Catalog views and DMOs

• Standard query language clauses– Can customize columns retrieved– Can customize rows retrieved– Can aggregate and order– Can join with multiple catalogs

Classification of DMOs

• DMO (general classification)• sys.dm_ prefix

• Dynamic management views• No input accepted• sys.dm_ prefix

• Dynamic management functions• Input accepted and often required• sys.dm_ prefix

Resources for Further Exploration

• Simple Talk eBook by Louis Davidson and Tim Ford

• Tim Ford’s “Periodic Table of Dynamic Management Objects” presentation at PASS SQL Rally – May 2012

• The Redgate DMV Starter Pack

• Quest Poster

DEMOQuerying Dynamic Management Objects

Topic: Data Collector and the Management Data Warehouse

Topic: Data Collector and the Management Data Warehouse

• Overview of Data Collector

• Configuring Data Collector

• Consuming Data Collector Data

Overview of Data Collector

• Collects capacity planning and performance data over time– Problem: DMO data isn’t persistent– Fact: Troubleshooting is difficult when “normal” hasn’t

been established– Solution: Management Data Warehouse (MDW)• The MDW is created and configured using two wizards • The wizard creates SSIS packages, jobs and schedules to collect

performance planning and capacity data

– The MDW accommodates multiple servers – Very useful reports available from the MDW database in

SSMS

Configuring Data Collector

• Execute two wizards– Wizard 1: Create the Management Data Warehouse

– Wizard 2: Set Up Data Collection• Data to be collected• Frequency of collection• Retention period

• Specific database roles exist for management– mdw_Admin

– mdw_writer

– mdw_reader

• Specific database roles exist for configuration– Dc_admin

– Dc_operator

– Dc_proxy

Consuming Data Collector Data

• Reports available in SSMS– Disk usage report– Server activity report– Query statistics report

DEMOConfiguring the Management Data Warehouse

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended