SlideShare a Scribd company logo
www.dageop.com
Database
Fundamental
Concepts
®
FC-01: Performance Analysis
DR. SUBRAMANI
PARAMASIVAM
(MANI)
About
me
Dr. SubraMANI Paramasivam
PhD., MCT, MCSE, MCITP, MCP, MCTS, MCSA
CEO, Principal Consultant & Trainer
@ DAGEOP (UK)
Email: mani@dageop.com
Blog: http://dataap.org/blog
Follow
Us
https://www.facebook.com/pages/YOUR-SQL-MAN-LTD/
http://www.youtube.com/user/YourSQLMAN
https://twitter.com/dageop
https://uk.linkedin.com/in/dageop
Proud Sponsor
• SQLBits
• SQL Saturdays
• MCT Summit
• SQL Server Geeks
Summit
• Data Awareness
Programme
• Dageop’s Data Day
®
www.DataAP.org
SPEAKER
Contents
FC-01: Performance Analysis
• Monitoring Tools
• Exploring STATISTICS IO output
• Identifying Performance Problems with Profiler data
www.dageop.com
Fundamental Concepts
FC-01: Performance Analysis
Have you done any?
www.dageop.com
Fundamental Concepts
Performance Analysis
• How SQL Server & Database
performs during all sorts of
transactions and heavy loads?
• It is one of the important role of
a Database Administrator
www.dageop.com
Fundamental Concepts
Performance Analysis
www.dageop.com
Fundamental Concepts
HOW?
Monitoring Tools
List any tool
www.dageop.com
Fundamental Concepts
Monitoring Tools
SQL Server has bunch of tools
• SQL Trace
• SQL Server Profiler
• Distributed Replay Utility
• SQL Server Management Studio Activity Monitor
• SQL Server Management Studio Graphical Show
plan
• Stored procedures
• Database Console Commands (DBCC)
• Built-in functions
• Trace flags
• Other tools
www.dageop.com
Fundamental Concepts
SQL Trace
Have you used?
www.dageop.com
Fundamental Concepts
SQL Trace
• Information collected from instance through events.
• Store the information in File or SQL Server Management objects
(SMO).
• We can monitor the information about
• Locks (Deadlock)
• Data File Auto Grow
• Objects Altered
• Scan started
• SQL Batch Started/Completed
www.dageop.com
Fundamental Concepts
SQL Trace & Stored Procedure
• Stored procedures to create traces
• sp_trace_create
• sp_trace_generateevent
• sp_trace_setevent
• sp_trace_setfilter
• sp_trace_setstatus
• Versions applicable
• Prior to 2005: Extended stored procedures that began with xp_trace_... (add, set)
• 2005, 2008, 2008R2, 2012: Above sp_trace_...
• 2014 onwards: Use extended events
• SQL Server Profiler – to see stored trace files.
• SQL Server Profiler (GUI) uses the above set of system SP’s.
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
SQL Server Profiler
Have you used?
www.dageop.com
Fundamental Concepts
SQL Server Profiler
• It is used to monitor the SQL
server instance of the database
engine.
• Trace data can be stored in a file
or a table.
• SQL Server Profiler helps to
monitor any specific events.
• Also supports auditing the
actions performed on SQL Server
instances.
www.dageop.com
Fundamental Concepts
SQL Server Profiler
• Find the cause of the problem in Queries
• Finding and diagnosing slow-running queries.
• Capturing the series of T-SQL statements that
lead to problems.
• Replicate the saved trace file in a test server
to further diagnose.
• Monitoring the performance of SQL Server to
tune workloads.
• Correlating performance counters to diagnose
problems.
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Distributed Replay Utility
Have you used?
www.dageop.com
Fundamental Concepts
Distributed Replay Utility
• Assess the impact of
• future SQL server upgrades.
• hardware and OS upgrades and SQL server tuning.
• Using Distributed replay, we can replay a workload.
• Used mainly for
• Application compatibility testing
• Performance testing
• Capacity planning
• SQL Server Profiler (SSP) & Distributed Replay Utility (DRU) overlaps.
• SSP allows single computer only
• Resource bottleneck
• SSP is less scalable solution compared to DRU
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
SSMS Activity Monitor
Have you used?
www.dageop.com
Fundamental Concepts
SQL Server Management Studio Activity Monitor
• Information about SQL server
processes
• how the processes affects the
instance
• Tabbed windows with expandable
and collapsible panes:
• Overview
• Processes
• Resource Waits
• Data File I/O
• Recent Expensive Queries
www.dageop.com
Fundamental Concepts
Activity Monitor
• Customizable
• Rearrange the order of the columns
• Sort any column
• Filter one or more columns,
• Refresh interval by default 10 seconds.
• Performance affected if <10 secs
• VIEW SERVER STATE permission required.
• System objects are used.
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Graphical Show plan
Have you used?
www.dageop.com
Fundamental Concepts
SSMS Graphical Show plan
• SQL Server Management Studio
• Interactive
• GUI Tool
• DBA or Developers interact with DB, SQL Server.
• Execute multiple queries simultaneously, view results, analyse the
query plan.
• Assists to improve the query performance.
• Execution Plans
• Display Estimated Execution Plan (CTRL + L)
• Include Actual Execution Plan (CTRL + M)
www.dageop.com
Fundamental Concepts
Graphical Show plan
We can Get execution plan for all type of queries
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
System Stored Procedures
Have you used?
www.dageop.com
Fundamental Concepts
System Stored Procedure
• SP_WHO
• SP_WHO2
• Custom SP_WHO2
• SP_LOCK
• SP_MONITOR
• SP_SPACEUSED
www.dageop.com
Fundamental Concepts
DBCC Commands
Have you used?
www.dageop.com
Fundamental Concepts
DBCC
• DBCC means Database Console Command
• Grouped into following categories
• Maintenance
• Miscellaneous
• Informational
• Validation
• During the Maintenance Plan almost every DBA will use this DBCC
www.dageop.com
Fundamental Concepts
DBCC
OR
www.dageop.com
Fundamental Concepts
Internal Database Snapshot
Exclusive DB Lock for Allocation checks & Catalogs
&
Shared Table locks for table checks
• DBCC CHECKDB
• DBCC CHECKALLOC
• DBCC CHECKTABLE
• DBCC CHECKCATALOG
• DBCC CHECKFILEGROUP
DBCC WITH DATABASE SNAPSHOT - Exclusions
www.dageop.com
Fundamental Concepts
Snapshot not created for
below conditions
• Master database
• Single-user mode
• Read-only database
• Emergency mode
• Tempdb
DBCC
• Some of the DBCC Commands
• DBCC SQLPERF (logspace)
• DBCC SHOWFILESTATS
• DBCC CHECKCATALOG
• DBCC CHECKCONSTRAINTS
• DBCC CHECKALLOC
• DBCC CHECKTABLE(tablename)
• DBCC CHECKIDENT(tablename)
• DBCC DBREINDEX(tablename)
• DBCC INPUTBUFFER(sessionid)
• DBCC SHRINKFILE(file_id)
• DBCC TRACESTATUS
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Built-in Functions
Have you used?
www.dageop.com
Fundamental Concepts
Built-In Functions
• Built-In functions are installed by default.
• Helps getting system information.
• Some of the Built-In Functions
• @@io_busy – It will show I/O processing time in milliseconds
• @@cpu_busy -- It will show CPU processing time in milliseconds
• @@connections -- It will return no of connections/attempted connections
• @@idle – It will return SQL Server idle time in milliseconds
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Trace Flags
Have you used?
www.dageop.com
Fundamental Concepts
Trace Flags
• Frequently used to diagnose performance issues
• Debug stored procedures or complex computer systems.
• Trace flags are valuable tools as they allow DBA to enable or disable a
database function temporarily.
• Once a trace flag is turned ON, manual turn OFF or restart SQL Server.
• -TXXXX can be used as startup parameter to enable trace when SS starts.
• sysadmin fixed server role permission required.
For full list of Trace flags.
http://technet.Microsoft.com/en-us/library/ms188396.aspx
www.dageop.com
Fundamental Concepts
OTHER TOOLS
Any guess?
www.dageop.com
Fundamental Concepts
Other Monitoring Tools
• Error Logs
• Windows
• Applications
• SQL Server
• Security
• Setup
• System
• DTA (Database Engine Tuning Advisor)
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Exploring STATISTICS IO Output
www.dageop.com
Fundamental Concepts
Exploring STATISTICS IO Output
• STATISTICS IO - detailed information about the impact of the Query.
• Scan Counts
• Logical Reads
• Physical Reads
• Read-ahead reads
• LOB logical reads
• LOB Physical reads
• LOB Read-ahead reads
www.dageop.com
Fundamental Concepts
Exploring STATISTICS IO output
• Statistics IO can be set as an option while you execute the query.
• Message displayed in results pane.
• Cost of the query in terms of
• physical reads from the disk and
• logical reads from the cache
• KEY WORD
• SET STATISTICS IO ON
www.dageop.com
Fundamental Concepts
STATISTICS IO explained
www.dageop.com
Fundamental Concepts
Scan Count (1)
• Optimizer has chosen an execution plan.
• This number will be same until you change the query.
Logical Reads (1500)
• Actual number of page reads from cache.
• Will not change unless there is a change in query structure or index used in
the table
STATISTICS IO explained
www.dageop.com
Fundamental Concepts
• Physical Reads ( 2576)
• Number of pages actually read from the disk directly.
• Reads from disk first time and use the page in cache for next time.
• Read-ahead reads (0)
• Total physical reads were satisfied by SQL Servers ‘Read-ahead’ mechanism.
• Fluctuates, as pages are swapped in/out of memory.
• Index fragmentation will affect this number.
STATISTICS IO explained
www.dageop.com
Fundamental Concepts
• LOB Logical Reads (0)
• Count based on text, ntext, image, varchar(max), nvarchar(max) and varbinary(max) data type.
• Attention required like the Logical Reads.
• LOB Physical Reads (0)
• Physical reads of same data type.
• LOB Read-Ahead Reads (0)
• Number of physical reads satisfied by the Read-Ahead mechanism
DEMO
www.dageop.com
Fundamental Concepts
Identifying Performance Problems
with Profiler data
www.dageop.com
Fundamental Concepts
Identifying Performance Problems with Profiler data
• SQL Server Profiler helps to find the
exact problem in the database.
• Performance will vary depending
on the user activity.
• SSP - Highly recommend for DBA to
monitor the performance
www.dageop.com
Fundamental Concepts
Identifying Performance Problems with Profiler data
• Major functions of SSP
• Creating trace
• Watching trace
• Storing trace
• Replaying trace
www.dageop.com
Fundamental Concepts
DEMO
www.dageop.com
Fundamental Concepts
Review
Monitoring Tools
SQL Trace
SQL Server Profiler
Distributed Replay Utility
SQL Server Management
Studio Activity Monitor
SQL Server Management
Studio Graphical Show plan
Stored procedures
Database Console Commands
(DBCC)
Built-in functions
Trace flags
STATISTICS IO
Performance Problems with Profiler data
Creating trace
Watching trace
Storing trace
Replaying trace
www.dageop.com
Fundamental Concepts
Q & A
www.dageop.com
Fundamental Concepts
®
www.dageop.com

More Related Content

What's hot (20)

PDF
CBSE XII Database Concepts And MySQL Presentation
Guru Ji
 
PPT
Creating database
Hitesh Kumar Markam
 
PDF
Database overview
Christalin Nelson
 
PPTX
Database fundamentals(database)
welcometofacebook
 
PDF
Database management system chapter1
Pranab Dasgupta
 
PPTX
Data base management system
Navneet Jingar
 
DOC
DBMS Practical File
Dushmanta Nath
 
PPT
Database concepts and Archeticture Ch2 with in class Activities
Zainab Almugbel
 
PPT
Object Relational Database Management System
Amar Myana
 
PPT
6 Data Modeling for NoSQL 2/2
Fabio Fumarola
 
PPTX
Introduction to database & sql
zahid6
 
PPTX
Group Members
Farhan Shahani
 
PPTX
Sql – pocket guide
Santhosh Kumar
 
PDF
Advance database systems (part 1)
Abdullah Khosa
 
PDF
(Dbms) class 1 & 2 (Presentation)
Dr. Mazin Mohamed alkathiri
 
PPT
Advance Database Management Systems -Object Oriented Principles In Database
Sonali Parab
 
PDF
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Beat Signer
 
PPTX
Introduction to database with ms access.hetvii
07HetviBhagat
 
PDF
Air Line Management System | DBMS project
AniketHandore
 
DOCX
What is difference between dbms and rdbms
Afrasiyab Haider
 
CBSE XII Database Concepts And MySQL Presentation
Guru Ji
 
Creating database
Hitesh Kumar Markam
 
Database overview
Christalin Nelson
 
Database fundamentals(database)
welcometofacebook
 
Database management system chapter1
Pranab Dasgupta
 
Data base management system
Navneet Jingar
 
DBMS Practical File
Dushmanta Nath
 
Database concepts and Archeticture Ch2 with in class Activities
Zainab Almugbel
 
Object Relational Database Management System
Amar Myana
 
6 Data Modeling for NoSQL 2/2
Fabio Fumarola
 
Introduction to database & sql
zahid6
 
Group Members
Farhan Shahani
 
Sql – pocket guide
Santhosh Kumar
 
Advance database systems (part 1)
Abdullah Khosa
 
(Dbms) class 1 & 2 (Presentation)
Dr. Mazin Mohamed alkathiri
 
Advance Database Management Systems -Object Oriented Principles In Database
Sonali Parab
 
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Beat Signer
 
Introduction to database with ms access.hetvii
07HetviBhagat
 
Air Line Management System | DBMS project
AniketHandore
 
What is difference between dbms and rdbms
Afrasiyab Haider
 

Similar to Database Fundamental Concepts- Series 1 - Performance Analysis (20)

PPTX
Optimising Queries - Series 1 Query Optimiser Architecture
DAGEOP LTD
 
PDF
sqltuning101-170419021007-2.pdf
TricantinoLopezPerez
 
PPTX
SQL Tuning 101
Carlos Sierra
 
PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
PDF
Oracle db performance tuning
Simon Huang
 
PDF
An Approach to Sql tuning - Part 1
Navneet Upneja
 
PPT
Database continuous integration, unit test and functional test
Harry Zheng
 
PPTX
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
Jovan Popovic
 
PPTX
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
PPTX
Ten query tuning techniques every SQL Server programmer should know
Kevin Kline
 
PDF
Breaking data
Terry Bunio
 
PPTX
SQL Explore 2012: P&T Part 1
sqlserver.co.il
 
PDF
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 
PPTX
2010/10 - Database Architechs - Perf. & Tuning Tools
Database Architechs
 
PPTX
שבוע אורקל 2016
Aaron Shilo
 
PDF
Liquibase få kontroll på dina databasförändringar
Squeed
 
PDF
Access Data from XPages with the Relational Controls
Teamstudio
 
PDF
Bb world 2012 using database statistics to make capacity planning decisions...
Geoff Mower
 
PDF
A data driven etl test framework sqlsat madison
Terry Bunio
 
PDF
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 
Optimising Queries - Series 1 Query Optimiser Architecture
DAGEOP LTD
 
sqltuning101-170419021007-2.pdf
TricantinoLopezPerez
 
SQL Tuning 101
Carlos Sierra
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
Oracle db performance tuning
Simon Huang
 
An Approach to Sql tuning - Part 1
Navneet Upneja
 
Database continuous integration, unit test and functional test
Harry Zheng
 
Tarabica 2019 (Belgrade, Serbia) - SQL Server performance troubleshooting
Jovan Popovic
 
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
Ten query tuning techniques every SQL Server programmer should know
Kevin Kline
 
Breaking data
Terry Bunio
 
SQL Explore 2012: P&T Part 1
sqlserver.co.il
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 
2010/10 - Database Architechs - Perf. & Tuning Tools
Database Architechs
 
שבוע אורקל 2016
Aaron Shilo
 
Liquibase få kontroll på dina databasförändringar
Squeed
 
Access Data from XPages with the Relational Controls
Teamstudio
 
Bb world 2012 using database statistics to make capacity planning decisions...
Geoff Mower
 
A data driven etl test framework sqlsat madison
Terry Bunio
 
Performance Stability, Tips and Tricks and Underscores
Jitendra Singh
 
Ad

More from DAGEOP LTD (17)

PPTX
HIGH PERFORMANCE DATABASES
DAGEOP LTD
 
PPTX
DBA – THINGS TO KNOW
DAGEOP LTD
 
PPTX
SQL Server Editions and Features
DAGEOP LTD
 
PPTX
DATA & POWER VISUALIZATION
DAGEOP LTD
 
PPTX
Microsoft Products
DAGEOP LTD
 
PPTX
Data, Education and Social awareness
DAGEOP LTD
 
PPTX
Data Modeling - Series 4 X-Events
DAGEOP LTD
 
PPTX
Data Modeling - Series 1 Storing summarised data
DAGEOP LTD
 
PPTX
Optimising Queries - Series 4 Designing Effective Indexes
DAGEOP LTD
 
PPTX
Optimising Queries - Series 3 Distinguishing among query types
DAGEOP LTD
 
PPTX
Managing Memory & Locks - Series 2 Transactions & Lock management
DAGEOP LTD
 
PPTX
Managing Memory & Locks - Series 1 Memory Management
DAGEOP LTD
 
PPTX
All about Storage - Series 3 - All about indexes
DAGEOP LTD
 
PPTX
All about Storage - Series 2 Defining Data
DAGEOP LTD
 
PPTX
Database Fundamental Concepts - Series 2 Monitoring plan
DAGEOP LTD
 
PDF
Advanced SSRS Reporting Techniques
DAGEOP LTD
 
PPTX
Perfect Performance Platter - SQL Server 2014
DAGEOP LTD
 
HIGH PERFORMANCE DATABASES
DAGEOP LTD
 
DBA – THINGS TO KNOW
DAGEOP LTD
 
SQL Server Editions and Features
DAGEOP LTD
 
DATA & POWER VISUALIZATION
DAGEOP LTD
 
Microsoft Products
DAGEOP LTD
 
Data, Education and Social awareness
DAGEOP LTD
 
Data Modeling - Series 4 X-Events
DAGEOP LTD
 
Data Modeling - Series 1 Storing summarised data
DAGEOP LTD
 
Optimising Queries - Series 4 Designing Effective Indexes
DAGEOP LTD
 
Optimising Queries - Series 3 Distinguishing among query types
DAGEOP LTD
 
Managing Memory & Locks - Series 2 Transactions & Lock management
DAGEOP LTD
 
Managing Memory & Locks - Series 1 Memory Management
DAGEOP LTD
 
All about Storage - Series 3 - All about indexes
DAGEOP LTD
 
All about Storage - Series 2 Defining Data
DAGEOP LTD
 
Database Fundamental Concepts - Series 2 Monitoring plan
DAGEOP LTD
 
Advanced SSRS Reporting Techniques
DAGEOP LTD
 
Perfect Performance Platter - SQL Server 2014
DAGEOP LTD
 
Ad

Recently uploaded (20)

PDF
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
PDF
NIS2 Compliance for MSPs: Roadmap, Benefits & Cybersecurity Trends (2025 Guide)
GRC Kompas
 
PDF
apidays Singapore 2025 - How APIs can make - or break - trust in your AI by S...
apidays
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PDF
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
PDF
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
PPTX
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
PDF
apidays Singapore 2025 - Streaming Lakehouse with Kafka, Flink and Iceberg by...
apidays
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PPT
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
PDF
Development and validation of the Japanese version of the Organizational Matt...
Yoga Tokuyoshi
 
PPTX
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
PPTX
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
PPTX
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PPTX
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
NIS2 Compliance for MSPs: Roadmap, Benefits & Cybersecurity Trends (2025 Guide)
GRC Kompas
 
apidays Singapore 2025 - How APIs can make - or break - trust in your AI by S...
apidays
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
apidays Singapore 2025 - Streaming Lakehouse with Kafka, Flink and Iceberg by...
apidays
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
Development and validation of the Japanese version of the Organizational Matt...
Yoga Tokuyoshi
 
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
apidays Helsinki & North 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (A...
apidays
 

Database Fundamental Concepts- Series 1 - Performance Analysis

  • 2. About me Dr. SubraMANI Paramasivam PhD., MCT, MCSE, MCITP, MCP, MCTS, MCSA CEO, Principal Consultant & Trainer @ DAGEOP (UK) Email: [email protected] Blog: http://dataap.org/blog Follow Us https://www.facebook.com/pages/YOUR-SQL-MAN-LTD/ http://www.youtube.com/user/YourSQLMAN https://twitter.com/dageop https://uk.linkedin.com/in/dageop Proud Sponsor • SQLBits • SQL Saturdays • MCT Summit • SQL Server Geeks Summit • Data Awareness Programme • Dageop’s Data Day ® www.DataAP.org SPEAKER
  • 3. Contents FC-01: Performance Analysis • Monitoring Tools • Exploring STATISTICS IO output • Identifying Performance Problems with Profiler data www.dageop.com Fundamental Concepts
  • 4. FC-01: Performance Analysis Have you done any? www.dageop.com Fundamental Concepts
  • 5. Performance Analysis • How SQL Server & Database performs during all sorts of transactions and heavy loads? • It is one of the important role of a Database Administrator www.dageop.com Fundamental Concepts
  • 7. Monitoring Tools List any tool www.dageop.com Fundamental Concepts
  • 8. Monitoring Tools SQL Server has bunch of tools • SQL Trace • SQL Server Profiler • Distributed Replay Utility • SQL Server Management Studio Activity Monitor • SQL Server Management Studio Graphical Show plan • Stored procedures • Database Console Commands (DBCC) • Built-in functions • Trace flags • Other tools www.dageop.com Fundamental Concepts
  • 9. SQL Trace Have you used? www.dageop.com Fundamental Concepts
  • 10. SQL Trace • Information collected from instance through events. • Store the information in File or SQL Server Management objects (SMO). • We can monitor the information about • Locks (Deadlock) • Data File Auto Grow • Objects Altered • Scan started • SQL Batch Started/Completed www.dageop.com Fundamental Concepts
  • 11. SQL Trace & Stored Procedure • Stored procedures to create traces • sp_trace_create • sp_trace_generateevent • sp_trace_setevent • sp_trace_setfilter • sp_trace_setstatus • Versions applicable • Prior to 2005: Extended stored procedures that began with xp_trace_... (add, set) • 2005, 2008, 2008R2, 2012: Above sp_trace_... • 2014 onwards: Use extended events • SQL Server Profiler – to see stored trace files. • SQL Server Profiler (GUI) uses the above set of system SP’s. www.dageop.com Fundamental Concepts
  • 13. SQL Server Profiler Have you used? www.dageop.com Fundamental Concepts
  • 14. SQL Server Profiler • It is used to monitor the SQL server instance of the database engine. • Trace data can be stored in a file or a table. • SQL Server Profiler helps to monitor any specific events. • Also supports auditing the actions performed on SQL Server instances. www.dageop.com Fundamental Concepts
  • 15. SQL Server Profiler • Find the cause of the problem in Queries • Finding and diagnosing slow-running queries. • Capturing the series of T-SQL statements that lead to problems. • Replicate the saved trace file in a test server to further diagnose. • Monitoring the performance of SQL Server to tune workloads. • Correlating performance counters to diagnose problems. www.dageop.com Fundamental Concepts
  • 17. Distributed Replay Utility Have you used? www.dageop.com Fundamental Concepts
  • 18. Distributed Replay Utility • Assess the impact of • future SQL server upgrades. • hardware and OS upgrades and SQL server tuning. • Using Distributed replay, we can replay a workload. • Used mainly for • Application compatibility testing • Performance testing • Capacity planning • SQL Server Profiler (SSP) & Distributed Replay Utility (DRU) overlaps. • SSP allows single computer only • Resource bottleneck • SSP is less scalable solution compared to DRU www.dageop.com Fundamental Concepts
  • 20. SSMS Activity Monitor Have you used? www.dageop.com Fundamental Concepts
  • 21. SQL Server Management Studio Activity Monitor • Information about SQL server processes • how the processes affects the instance • Tabbed windows with expandable and collapsible panes: • Overview • Processes • Resource Waits • Data File I/O • Recent Expensive Queries www.dageop.com Fundamental Concepts
  • 22. Activity Monitor • Customizable • Rearrange the order of the columns • Sort any column • Filter one or more columns, • Refresh interval by default 10 seconds. • Performance affected if <10 secs • VIEW SERVER STATE permission required. • System objects are used. www.dageop.com Fundamental Concepts
  • 24. Graphical Show plan Have you used? www.dageop.com Fundamental Concepts
  • 25. SSMS Graphical Show plan • SQL Server Management Studio • Interactive • GUI Tool • DBA or Developers interact with DB, SQL Server. • Execute multiple queries simultaneously, view results, analyse the query plan. • Assists to improve the query performance. • Execution Plans • Display Estimated Execution Plan (CTRL + L) • Include Actual Execution Plan (CTRL + M) www.dageop.com Fundamental Concepts
  • 26. Graphical Show plan We can Get execution plan for all type of queries www.dageop.com Fundamental Concepts
  • 28. System Stored Procedures Have you used? www.dageop.com Fundamental Concepts
  • 29. System Stored Procedure • SP_WHO • SP_WHO2 • Custom SP_WHO2 • SP_LOCK • SP_MONITOR • SP_SPACEUSED www.dageop.com Fundamental Concepts
  • 30. DBCC Commands Have you used? www.dageop.com Fundamental Concepts
  • 31. DBCC • DBCC means Database Console Command • Grouped into following categories • Maintenance • Miscellaneous • Informational • Validation • During the Maintenance Plan almost every DBA will use this DBCC www.dageop.com Fundamental Concepts
  • 32. DBCC OR www.dageop.com Fundamental Concepts Internal Database Snapshot Exclusive DB Lock for Allocation checks & Catalogs & Shared Table locks for table checks • DBCC CHECKDB • DBCC CHECKALLOC • DBCC CHECKTABLE • DBCC CHECKCATALOG • DBCC CHECKFILEGROUP
  • 33. DBCC WITH DATABASE SNAPSHOT - Exclusions www.dageop.com Fundamental Concepts Snapshot not created for below conditions • Master database • Single-user mode • Read-only database • Emergency mode • Tempdb
  • 34. DBCC • Some of the DBCC Commands • DBCC SQLPERF (logspace) • DBCC SHOWFILESTATS • DBCC CHECKCATALOG • DBCC CHECKCONSTRAINTS • DBCC CHECKALLOC • DBCC CHECKTABLE(tablename) • DBCC CHECKIDENT(tablename) • DBCC DBREINDEX(tablename) • DBCC INPUTBUFFER(sessionid) • DBCC SHRINKFILE(file_id) • DBCC TRACESTATUS www.dageop.com Fundamental Concepts
  • 36. Built-in Functions Have you used? www.dageop.com Fundamental Concepts
  • 37. Built-In Functions • Built-In functions are installed by default. • Helps getting system information. • Some of the Built-In Functions • @@io_busy – It will show I/O processing time in milliseconds • @@cpu_busy -- It will show CPU processing time in milliseconds • @@connections -- It will return no of connections/attempted connections • @@idle – It will return SQL Server idle time in milliseconds www.dageop.com Fundamental Concepts
  • 39. Trace Flags Have you used? www.dageop.com Fundamental Concepts
  • 40. Trace Flags • Frequently used to diagnose performance issues • Debug stored procedures or complex computer systems. • Trace flags are valuable tools as they allow DBA to enable or disable a database function temporarily. • Once a trace flag is turned ON, manual turn OFF or restart SQL Server. • -TXXXX can be used as startup parameter to enable trace when SS starts. • sysadmin fixed server role permission required. For full list of Trace flags. http://technet.Microsoft.com/en-us/library/ms188396.aspx www.dageop.com Fundamental Concepts
  • 42. Other Monitoring Tools • Error Logs • Windows • Applications • SQL Server • Security • Setup • System • DTA (Database Engine Tuning Advisor) www.dageop.com Fundamental Concepts
  • 44. Exploring STATISTICS IO Output www.dageop.com Fundamental Concepts
  • 45. Exploring STATISTICS IO Output • STATISTICS IO - detailed information about the impact of the Query. • Scan Counts • Logical Reads • Physical Reads • Read-ahead reads • LOB logical reads • LOB Physical reads • LOB Read-ahead reads www.dageop.com Fundamental Concepts
  • 46. Exploring STATISTICS IO output • Statistics IO can be set as an option while you execute the query. • Message displayed in results pane. • Cost of the query in terms of • physical reads from the disk and • logical reads from the cache • KEY WORD • SET STATISTICS IO ON www.dageop.com Fundamental Concepts
  • 47. STATISTICS IO explained www.dageop.com Fundamental Concepts Scan Count (1) • Optimizer has chosen an execution plan. • This number will be same until you change the query. Logical Reads (1500) • Actual number of page reads from cache. • Will not change unless there is a change in query structure or index used in the table
  • 48. STATISTICS IO explained www.dageop.com Fundamental Concepts • Physical Reads ( 2576) • Number of pages actually read from the disk directly. • Reads from disk first time and use the page in cache for next time. • Read-ahead reads (0) • Total physical reads were satisfied by SQL Servers ‘Read-ahead’ mechanism. • Fluctuates, as pages are swapped in/out of memory. • Index fragmentation will affect this number.
  • 49. STATISTICS IO explained www.dageop.com Fundamental Concepts • LOB Logical Reads (0) • Count based on text, ntext, image, varchar(max), nvarchar(max) and varbinary(max) data type. • Attention required like the Logical Reads. • LOB Physical Reads (0) • Physical reads of same data type. • LOB Read-Ahead Reads (0) • Number of physical reads satisfied by the Read-Ahead mechanism
  • 51. Identifying Performance Problems with Profiler data www.dageop.com Fundamental Concepts
  • 52. Identifying Performance Problems with Profiler data • SQL Server Profiler helps to find the exact problem in the database. • Performance will vary depending on the user activity. • SSP - Highly recommend for DBA to monitor the performance www.dageop.com Fundamental Concepts
  • 53. Identifying Performance Problems with Profiler data • Major functions of SSP • Creating trace • Watching trace • Storing trace • Replaying trace www.dageop.com Fundamental Concepts
  • 55. Review Monitoring Tools SQL Trace SQL Server Profiler Distributed Replay Utility SQL Server Management Studio Activity Monitor SQL Server Management Studio Graphical Show plan Stored procedures Database Console Commands (DBCC) Built-in functions Trace flags STATISTICS IO Performance Problems with Profiler data Creating trace Watching trace Storing trace Replaying trace www.dageop.com Fundamental Concepts