Jun 15, 2015
Michelle Gutzait
[email protected]@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: