module 18 monitoring sql server 2008 r2. module overview monitoring activity capturing and managing...

30
Module 18 Monitoring SQL Server 2008 R2

Upload: stephen-stanley

Post on 25-Dec-2015

238 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Module 18

Monitoring SQL Server 2008 R2

Page 2: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Module Overview

• Monitoring Activity

• Capturing and Managing Performance Data

• Analyzing Collected Performance Data

Page 3: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lesson 1: Monitoring Activity

• Overview of Dynamic Management Views and Functions

• Viewing Activity using Dynamic Management Views

• Demonstration 1A: Viewing Activity using Dynamic Management Views

• Working with Activity Monitor in SQL Server Management Studio

• Demonstration 1B: Working with Activity Monitor in SQL Server Management Studio

• Working with Reliability and Performance Monitor

• Working with SQL Server Counters

• Demonstration 1C: Working with Reliability and Performance Monitor

Page 4: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Overview of Dynamic Management Views and Functions

• Organized by category

• Many other categories available

Category Description

sys.dm_exec_% Execution and Connection

sys.dm_os_% SQL OS related information

sys.dm_tran_% Transaction Management

sys.dm_io_% I/O related information

sys.dm_db_% Database scoped information

Dynamic Management Objects are virtual views and functions that provide state data for SQL Server systems.

Page 5: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Viewing Activity using Dynamic Management Views

• Must be referenced using the sys schema

• Two basic types: Current status information

Accumulated historical information

SELECT s.original_login_name, s.program_name, t.wait_type, t.wait_duration_ms

FROM sys.dm_os_waiting_tasks AS tINNER JOIN sys.dm_exec_sessions AS sON t.session_id = s.session_idWHERE s.is_user_process = 1AND t.wait_duration_ms > 3000;

SELECT * FROM sys.dm_os_wait_statsORDER BY wait_time_ms DESC;

SELECT s.original_login_name, s.program_name, t.wait_type, t.wait_duration_ms

FROM sys.dm_os_waiting_tasks AS tINNER JOIN sys.dm_exec_sessions AS sON t.session_id = s.session_idWHERE s.is_user_process = 1AND t.wait_duration_ms > 3000;

SELECT * FROM sys.dm_os_wait_statsORDER BY wait_time_ms DESC;

Page 6: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 1A: Viewing Activity using Dynamic Management Views

• In this demonstration, you will see how to use DMVs to view performance information

Page 7: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Working with Activity Monitor in SQL Server Management Studio

• Shows information about SQL Server Processes, Waits, I/O and expensive Queries

• Accesses SQL Server through Dynamic Management Objects• Requires VIEW SERVER STATE permission• Can be used to kill processes that block others

• Shows information about SQL Server Processes, Waits, I/O and expensive Queries

• Accesses SQL Server through Dynamic Management Objects• Requires VIEW SERVER STATE permission• Can be used to kill processes that block others

Page 8: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 1B: Working with Activity Monitor in SQL Server Management Studio

• In this demonstration, you will see: How to use Activity Monitor to view process information

How to kill a process using Activity Monitor

Page 9: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Working with Reliability and Performance Monitor

• Used to collect and view system metrics

• Provides real time monitoring of health and performance counters

• Creates data collector sets that capture data from different data collectors either on demand or scheduled

Key areas to monitor

• CPU• Memory• Disk System• Network• SQL Server Counters

Key areas to monitor

• CPU• Memory• Disk System• Network• SQL Server Counters

Page 10: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Working with SQL Server Counters

• SQL Server exposes objects to Performance and Reliability Monitor Each object contains one or more counters

Each counter can have one or more instances

Multi-instance counters also provide a total

• Also available through sys.dm_os_performance_counters

Object Counter Instance

Page 11: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 1C: Working with Reliability and Performance Monitor

• In this demonstration, you will see how to use Windows Reliability and Performance Monitor

Page 12: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lesson 2: Capturing and Managing Performance Data

• Overview of Data Collector

• Designing a Data Collector Topology

• Configuring Data Collector

• Data Collector Security

• Monitoring Data Collector

• Demonstration 2A: Configuring Data Collector

Page 13: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Overview of Data Collector

Low overhead data collection

Persistence of diagnostics data

Data retention

Rich reporting

Easy extensibility

Central repository for several SQL Server instances

Data Collector is a component of SQL Server that collects capacity planning and performance data over time.

Page 14: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Designing a Data Collector Topology

• SSIS and SQL Agent jobs are used to send data to the central database

• SSMS is used to access Reports

Data Repository

Centralized Data Storage

Reporting

Data Collector

Performance CounterSQL TraceT-SQL

Data Collector

Performance CounterSQL TraceT-SQL

Page 15: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Configuring Data Collector

• Wizard-based Setup

• Two-step process:

1. Create the Management Data Warehouse

2. Configure Data Collector on all instances to be monitored

• Plan for enough space inManagement Data Warehouse

• Configuration creates System Data Collection Sets Data to be collected

Frequency of collection

Retention period

• Custom Data Collection Sets can be added

Page 16: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Data Collector Security

Role Description

mdw_admin Full access to the management data warehouse

mdw_writer Write and read access. Needed by data collectors

mdw_reader Read access. Needed by users accessing Reports

Role Description

dc_admin Full administrator access to the configuration

dc_operator Read and update access to the configuration

dc_proxy Read access to the configuration

Roles for the Management Data Warehouse:

Roles for Configuring the Data Collector:

Page 17: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Monitoring Data Collector

• Configuration and Log written to msdb Implemented via stored procedures and SSIS logging features

• Three logging levels are available

• Retention is based on collection set retention

• Logs can be viewed using T-SQL or Log File Viewer

Page 18: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 2A: Configuring Data Collector

• In this demonstration you will see how to configure data collector

Page 19: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lesson 3: Analyzing Collected Performance Data

• Overview of Data Collector Reports

• Disk Usage Report

• Demonstration 3A: Disk Usage Report

• Server Activity Report

• Demonstration 3B: Server Activity Report

• Query Statistics Report

• Demonstration 3C: Query Statistics Report

Page 20: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Overview of Data Collector Reports

• Disk Usage Summary Trends and details on disk and file usage

• Query Statistics History Most expensive queries ranked by: CPU, Duration, Reads,

Writes

• Server Activity History CPU, Memory, Disk and Network I/O SQL Server Waits and SQL Server Activity

Data Collector provides a series of cross-linked reports on historical data. The reports are visible from within SQL Server Management Studio.

Page 21: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Disk Usage Report

Based on Disk Usage System Data Collection Set

• T-SQL collector type

• Not cached, runs every 6 hours by default

• Stored for 730 days by default

Page 22: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 3A: Disk Usage Report

• In this demonstration, you will see the information that is available in a disk usage report

Page 23: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Server Activity Report

• Based on Server Activity System Data Collection Set DMV snapshot and performance counter collector types

Runs every 60 seconds and uploaded every 15 minutes by default

Retained for 14 days by default

• Provides many sub-reportswith detailed informationon SQL Server and Windowsprocesses

• Crossed linked to Query Statistics Reports

Page 24: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 3B: Server Activity Report

• In this demonstration, you will see the information that is available in a server activity report

Page 25: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Query Statistics Report

• Based on Query Statistics System Data Collection Set Query activity collector type

Runs every 10 seconds and uploaded every 15 minutes by default

Retained for 14 days by default

• Expensive queries are gathered including both thequery text and the query plan

Page 26: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Demonstration 3C: Query Statistics Report

• In this demonstration, you will see the information that is available in a query statistics report

Page 27: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lab 18: Monitoring SQL Server 2008 R2

• Exercise 1: Investigating DMVs

• Exercise 2: Configure Management Data Warehouse

• Exercise 3: Configure Instances for Data Collection

• Challenge Exercise 4: Work with Data Collector Reports (Only if time permits)

Logon information

Estimated time: 45 minutes

Virtual machine 623XB-MIA-SQL

User name AdventureWorks\Administrator

Password Pa$$w0rd

Page 28: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lab Scenario

The earlier versions of SQL Server that you have worked with did not include dynamic management functions and views. You have recently read about these and are interested to see how they might be used for collecting performance information.

Rather than collecting information separately for each SQL Server instance, you have decided to collect all the performance information to a central server. This will help when dealing with issues that were not reported to the helpdesk at the time they occurred.

Page 29: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Lab Review

• How can you locate long running queries using the Data Collector reports?

• When performance counters have multiple instances, how do you view the total for all instances?

Page 30: Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data

Module Review and Takeaways

• Review Questions

• Best Practices