course topics administering sql server 2012 jump start 01 | install and configure sql server04 |...
TRANSCRIPT
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.