Transcript

Dubi Lebel

D.B.A. = Don’t bother Asking

Dubi.lebel@gmail.com

Michelle Gutzait

gutzait@pythian.comMichelle.gutzait@gmail.com

Blog: http://michelle-gutzait.spaces.live.com/default.aspx

out of scope…

T-SQL enhancements –

The FILESTREAM datatypes

The new DATE and TIME datatypes

The new Merge command

Table Valued Parameters

Large UDTs

User-Defined Aggregates

Hierarchical data

New Dependency Management

Filtered Indexes

More topics – out of scope…

Integration with Microsoft Office 2007

Transparent Data Encryption

Auditing data access

Data Compression

Security related improvements

Database mirroring, replication, Service Broker

Resource Governor

Dynamic Development with New ADO , Visual Studio options and

Dot Net 3

Entity Data Services (LOB and eSQL)

Development of frequently disconnected applications

Introduction

Enhancements in Management Studio 2008

The query editor and debugger

Performance Studio (?)

PowerShell integration (?)

Introduction

Enhancements in Management Studio 2008

The query editor and debugger

Performance Studio (?)

PowerShell integration (?)

Nice to meet you…..

Introduction

Enhancements in Management Studio 2008

The query editor and debugger

Performance Studio (?)

PowerShell integration (?)

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Provides high-level perspective on what might be ailing your SQL Server., in

real time

To run:

Right click on SQL Server instance (Object Explorer) Activity monitor

Refresh interval

Pause

Sort and filter data

Processes

Shows all running processes

Previous versions:

Sp_who2

Current Activity

Right click on Process:

Details – shows last running batch

Kill Process

Trace Process in SQL Server Profiler – opens SQL Profiler, tracing

only the specific SPID.

Resource waits

Provides a snapshot of key resource waits occurring on the server

Measures the amount of time a worker thread has to wait until it can

gain access to a resource

Helping identify potential resource bottleneck

Buffer IO – waits for IO subsystem

CPU – Waiting for CPU resource

Buffer Latch – Disk to memory contention

Latch – possible contention in internal caches

Lock – waiting to acquire a lock on an object

Logging – transaction logs

Memory - waiting for memory resource

Network IO – waiting for Network resource

Data File IO

Provides information about IO usage of database files

Helps identify database/database files bottlenecks

Recent Expensive Queries

Provides information about most recent expensive queries

Those currently in cache

Right click on query:

Edit Query Text - displaying the entire query (not just the small part

of the query you see in the window)

Show Execution Plan - displaying a graphical execution plan of the

query

Tool Tips throughout all the screens of the Activity Monitor

Most of the data displayed in the Activity Monitor is from DMVs.

Many of the Tool Tips even tell you the name of the DMV used to

return the data you are viewing

Querying DMVs

Top files under load

Process information SELECT fn.text,p.* from sysprocesses as pCROSS APPLY fn_get_sql(sql_handle) as fnORDER BY spid

Top wait statistics SELECT TOP 10 [Wait type] = wait_type, [Wait time (s)] = wait_time_ms / 1000, [% waiting] = CONVERT(DECIMAL(12,2), wait_time_ms * 100.0 / SUM(wait_time_ms) OVER()) FROM sys.dm_os_wait_statsWHERE wait_type NOT LIKE '%SLEEP%' ORDER BY wait_time_ms DESC

Top files under load SELECT db_name(mf.database_id),physical_name,num_of_readsFROM sys.master_files mf Inner join sys.dm_io_virtual_file_stats(NULL,NULL) as vfon mf.database_id = vf.database_id and mf.file_id=vf.file_idorder by num_of_reads desc

Top query by Avg:

Top by CPU Top by IOTop by Duration

SELECT TOP 10 [Average CPU used] = total_worker_time / qs.execution_count, [Total CPU used] = total_worker_time ,[Execution count] = qs.execution_count ,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2, (CASE WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) ,[Parent Query] = qt.text ,DatabaseName = DB_NAME(qt.dbid)FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt ORDER BY [Average CPU used] DESC

Permissions

To view the Activity Monitor :

VIEW SERVER STATE permission on the server

Permission to KILL a process

sysadmin and processadmin fixed database roles

is not transferable.

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Object Explorer Details

In SQL Server 2005 - displayed the same information as in Object Explorer

View Object Explorer Details or F7

SQL 2008 – screen includes more information. Examples:

Object Explorer Details

Right click on titles in “Object Explorer View” – there are more

details that can be shown in the window:

Any changes you make are automatically remembered for next time you come back to this screen

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Object Search

The scope of the search depends on what object has been selected in the Object

Explorer

Can’t “jump” to the right location, only view properties

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

Security related improvements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Custom colors for connection

Handy for those who work often with multiple SQL Server instances

Connect Options

Enable “use custom color” option and then “Select” a color

Custom colors for connection

Example

Development

Production

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Error when trying to modify table definition

For example –modifying column’s datatype

Might be a good thing for Production, but ….

Error when trying to modify table definition

Solution:

In SSMS 2008 - Tools Options Designers

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Speed Enhancements for SSMS

Faster communications between SSMS and the SQL Server engine

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

UI Framework Enhancements

Many little things are configurable: Tools Options

SQL 2005: SQL 2008:

Speaking of enhancements… Have you ever used these in SQL 2005…?

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

"Open Table" enhancements

A limited amount of rows is returned to the "Open Table"

dialog to avoid locks and load on server.

Configurable

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

Security related improvements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Register servers at a central location

View Registered Servers

There are two kinds of registered servers:

Local

Unique to a user on the local machine

Stored on file system

SQL Server Authentication allowed (stores passwords)

Supporting previous versions of SQL Server

Central

Stored in the Central Management Server

Only Windows Authentication can be used

Can be stored only in SQL 2008 database servers

No special permissions required

Exists in SSMS 2005 as well – Import/Export servers registration

Go to the Registered Servers window

Right click on Group

Import/Export servers registration

You can include User Names and Passwords in export file (encrypted!)

Demo…

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

GUI for Table Partitioning Setup

Wizard

Wizard

Wizard for Table Partitioning Setup

Run immediately / script

Activity Monitor

Object Explorer Details

Object Search

Custom colors for connection

Error when trying to modify table definition

Speed Enhancements for SSMS

UI Framework Enhancements

Security related improvements

"Open Table" enhancements

Register servers at a central location

Wizard for Table Partitioning Setup

Service Broker UI enhancements

Service Broker UI enhancements

Easier setup of Service Broker. Provided Templates and

context menu in the object explorer

SQL 2005:

SQL 2008:

SQL 2008:

Introduction

T-SQL enhancments

Enhancements in Management Studio 2008

The query editor and debugger

Performance Studio (?)

PowerShell integration

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Multi-Server Queries

Query multiple servers at the same time, returning the results

to a single window

Multi-Server Queries

Create a Server Group from the Registered Servers window

Add SQL Server registrations to the group

Supports previous versions

Right-click on the Server Group and select "New Query"

Multi-Server Queries

Disadvantage

Need to create separate Server Groups for each subset, if not

all server are required in a query

Multi-Server Queries – Example #1

Multi-Server Queries Configuration options

Tools Options

Multi-Server Queries – Example #1 (merged results = false)

Multi-Server Queries – Example #2 (merged results = true)

Multi-Server Queries – Example #3…

Database DemoDatabase does not exist on (local) server:

Database DemoDatabase exists on all servers:

Demo…

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Intellisense added to the Query Editor

Collapsible window

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Customizable tabs

The query editor’s results can now have their tabs

set with customized names

Switch to full screen view of SSMS

Shift+Alt+Enter key combination

To switch between different tabs (Editor, Results, Messages) use F6.

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Error list

View list of syntax errors as you type

View the error list form:

Error list

From all active Windows

Double click on error will set you on the code line

Demo…

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

New Right-Click options on Results Grid

SQL 2005 SQL 2008

Demo…

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

Showplan – new options

You can right-click a showplan graphic and see the XML version of the plan

The XML created by the showplan is now formatted instead of showing as a large string

You can right-click a graphical showplan and extract the SQL query that generated it

Showplan – new options

Show as XML – nicely formatted

• Easier to compare

• Easier to analyze

Showplan – new options

Extract query of a saved Showplan

Open saved file

Demo…

Multi-Server Queries

Intellisense added to the Query Editor

Collapsible window

Customizable tabs

Error list

New Right-Click options on Results Grid

Showplan - new options

The debugger

The debugger

Set breakpoints

Step through code

Step into code

Set watches up to monitor variable values, locals

and the call stack

Woohoo!!!!

Demo…

SQL Server 2005 includes a Performance Dashboard (reports – standard and custom)

Displays real-time performance data

SQL 2008 Performance Studio

Collect performance data from multiple databases and store them in a central repository

Compare current and past performance

Troubleshoot performance problems

Track your custom performance metrics

Provides a set of prebuilt reports

Add your Custom reports

Data Collection UI (Object Explorer)

Data Collection Configuration

Collection Set Reports

TargetData

CollectorCollection

Sets

TargetData

CollectorCollection

Sets

Management Data Warehouse

Architecture

Two types of Collection Sets:

System

Mostly DMVs

User

User Collection

Data Collection UI

Permissions: sysadmin permissions are requiredSystem DC

Example report

Also:

Disk usage

Query statistics history

Custom reports

SQL Server Agent jobs created automatically

(more can be added):

Job types:

Data Collection

Data purges

Data Collector Set

Create custom data collections

Use Performance Studio as repository

Permissions:

Permissions to run Profiler

Sysadmin on server to add the set

Data Collector Set

Follow BOL

How to: Use SQL Server Profiler to Create a SQL Trace Collection Set

Data Collector Set

Open saved filein SSMS and execute

2 occurrencesin code

Data Collector Set

Manageable from Object Explorer

Demo…

PowerShell is the .NET based automation engine that Microsoft shipped in November 2006. It can: Have a MMC layered over the top as in Exchange 2007

Be embedded into .NET applications

Be used as a command line shell and scripting language.

Available in 32 bit and 64 bit versions for Windows 2003, Windows XP and Windows Vista. Also installable feature in Windows Server 2008

It is now part of Microsoft’s Common Engineering Criteria and will be incorporated into all major products

Supports more complex logic than Transact-SQL scripts

Implementations:

Provides simple navigation mechanism similar to file system paths

Set of cmdlets, which are commands used in PowerShell scripts to specify a SQL Server action

A verb-noun syntax, i.e. Get-Help.

Usage:

In command prompt

powershell.exe

In SQL Server Management Studio

Right click an Object Start Powershell

In a SQL Server Agent job

Step type can be Powershell

Questions?

Feel free to contact me:

gutzait@pythian.com

Michelle.gutzait@gmail.com

top related