SlideShare a Scribd company logo
Polish SQL Server User Group
Troubleshoot SQL Server performance
problems like a Microsoft Engineer
Polish SQL Server User Group
About the Author
Marek Maśko
• Senior Database Analyst in
• Working with SQL Server for ~6 years
• SQL DBA, Dev & Architect
• Contact Information:
Email: marek.masko@gmail.com
LinkedIn: https://pl.linkedin.com/in/marekmasko
Twitter: @MarekMasko
Polish SQL Server User Group
Scenario
• Users report performance issue
• You know nothing about server and database
What you do?
Polish SQL Server User Group
Microsoft Customer Support Service
• Users report performance issue
• You open the MS Support Case
• MS CSS gives you PSSdiag package and ask you to run it
• You run it and collect the data
• Than You upload collected data to the workspace
• MS CSS returns with:
– huge report about your SQL Server state
– issue root cause explanation
– Solution or recommendation
How they do it?
Polish SQL Server User Group
Tools
Data collection
• PSSDiag / SQLDiag
• Diag Manager
Data analysis
• SQLNexus
– RML Utilities
– Relog
• PAL Tool
Polish SQL Server User Group
PSSDIAG
Polish SQL Server User Group
PSSdiag
• Developed as a side project at Microsoft
• Mainly used by CSS and PSS teams
• Tool wrapper on other MS tools
• Based on SQLDiag
• Two versions:
– Internal
– External
• Dramaticaly simplifies performance data collection
Polish SQL Server User Group
SQLDiag
• It’s a command line utility delivered with SQL Server
• Located in the installation Binn directory
• It’s main purpose is to collect diagnostic data
PSSdiag SQLDiag Collectors
Polish SQL Server User Group
What does it collect?
• Event Logs
• Performance Monitor Counters
• Server Configuration
• Error Logs
• Profiler Trace
• Blocking information
• PerfStat Scripts
• Spinlocks, query statistics query hashes
...
• There is a possibility to add your own custom collectors!
Polish SQL Server User Group
How to run it?
Security
• Windows authentication is default
• SQL authentication
– Prompt for password
• The account used to run it
– Must be able to login into target instances
– Must be a member of the sysadmin role
– Must be a member of Administrators
Configuration
• Requires an XML configuration file (specifies what to collect)
Polish SQL Server User Group
Parameters
• PSSdiag /B 14:00:00
• PSSdiag /E +02:00:00
• PSSdiag /B 08:00:00 /E +09:00:00
• PSSdiag /E 02:00:00 /L /Q
• PSSdiag /R /A Myname
• PSSdiag START /A Myname
• PSSdiag /U /A Myname
All command line parameters:
http://msdn.microsoft.com/en-us/library/ms162833.aspx
Polish SQL Server User Group
Resource hit
• PSSDiag itself is negligible
• Collectors are efficient
• Profiler tracing is expensive
• Select output folder carefully
• Do not capture more than you need
• Always test and monitor it!
Polish SQL Server User Group
Extended periods
• Run as a service so logout doesn’t stop collection
• Profiler Trace dominates output file size
• Trace files must always be collected on the server
• Enables real-time NTFS compression (/C1)
• Enable the DeleteOldTraceFiles
Polish SQL Server User Group
DIAG MANAGER
Polish SQL Server User Group
Diag Manager
• GUI tool used to create configuration files
• Can be downloaded for free from:
http://diagmanager.codeplex.com
Polish SQL Server User Group
DEMO
Lets take a look on PSSDiag
Polish SQL Server User Group
SQLNEXUS
Polish SQL Server User Group
SQL Nexus
• Created as a side project at SQL Support Escalation team
• Process the output of PSSDiag/SQLDiag into a database and
runs Reporting Services reports on top of it
• Allows users to create own collections and reports
• Can be downloaded for free from:
http://sqlnexus.codeplex.com/
Polish SQL Server User Group
Key Features
• Fast data loading and processing
• SQL Trace data aggregation using advanced logic and pattern
recognition for intelligent statement execution grouping
• Supports multiple databases to store several performance
analysis data sets
• Visualize loaded data via reports
• Extensibility!
Polish SQL Server User Group
Pre-requsites
• Windows 2008 or newer
• SQL Server 2008 or newer
• .NET framework 4.0
• RML Utilities
Polish SQL Server User Group
SQL Nexus reports
• Built-in reports for:
– Environment configuration
– Blocking
– Wait statistics
– Resource utilization
– Interesting events
– Missing indexes
– Data Statistics
– Virtual file stats
Polish SQL Server User Group
Bottleneck Analysis
Polish SQL Server User Group
Read Trace Reports
Polish SQL Server User Group
Read Trace Reports
Polish SQL Server User Group
RML Utilities
• Replay Markup Language (RML) Utilities for SQL Server
• Can be downloaded for free from:
https://support.microsoft.com/en-us/kb/944837
• Package contains:
– ReadTrace
– Reporter
– OStress
– OStress Replay Control Agent (ORCA)
Polish SQL Server User Group
ReadTrace
• Command line tool for processing Profiler traces and Extended
Event traces
• ReadTrace consumes as input trace (.TRC) or (.XEL) files and
.CAB or .ZIP files which contain .TRC files.
• The outputs from ReadTrace can be .TRC files, .RML files and
the Performance Analysis (PerfAnalysis) database.
• RML Utilities have great documentation
Polish SQL Server User Group
Relog
• Command line tool for processig performance counter logs
• Possible formats:
– Text-TSV (tab delimited text)
– Text-CSV (comma-delimited text)
– Binary-BIN
– SQL
• Has possibility to filter specified counters
https://technet.microsoft.com/pl-pl/library/bb490958.aspx
Polish SQL Server User Group
DEMO
Lets take a look on SQLNexus
Polish SQL Server User Group
CUSTOM DATA COLLECTIONS
Polish SQL Server User Group
Custom Data Collections
• Add your SQL scripts to the _MyCollectors DiagManager folder
• Make sure the resultsets have a tag that uniquely identifies
them
Polish SQL Server User Group
Custom Data Collections
• Custom Collections are added to the CustomDiag.XML file in
the _MyCollectorsfolder
• It is quicker to modify this XML file than do it through the UI
Polish SQL Server User Group
Custom Data Collections
• Uses a custom import process
• By modifying a XML configuration file, you can have SQL Nexus
import your custom data collection from PSSDiag
• Add the name of the rowset to TextRowsetsCustom.xml
• Located where you installed SQL Nexus
Polish SQL Server User Group
DEMO
Polish SQL Server User Group
PAL TOOL
Polish SQL Server User Group
PAL Tool
• PAL – Performance Analysis of Logs
• Can be downloaded for free from: http://pal.codeplex.com/
• Allows you to set custom thresholds or use threshold already
configured for your workload
• Requires MS Chart Controls
Polish SQL Server User Group
PAL Wizard
• Carefully choose options and answer questions
• Processing will take time
Polish SQL Server User Group
PAL Output
• Graphs with thresholds
• Alerts summarized in time
slices
Polish SQL Server User Group
PAL Output
• The output is color coded to let you know the areas to focus
on
– You do have some control over this through the threshold files
– Not everything in red actually means something
• You must know what to look for
Polish SQL Server User Group
DEMO
Lets take a look on PAL Tool
Polish SQL Server User Group
When to Use Which Tool?
PSSDIAG / SQLNexus
• More targeted performance analysis
• Need to view SQL internal resources (waits, blocking chains,
query plans)
• Short timespan for collection
PAL
• Great for overall system performance
• Benchmark
• Long duration
Polish SQL Server User Group
SQL SERVER
PERFORMANCE DASHBOARD
Polish SQL Server User Group
SQL Server Performance Dashboard Reports
• Set of SSRS performance reports that integrate into SSMS
• Can be downloaded for free from:
https://www.microsoft.com/en-us/download/details.aspx?id=29063
• Custom reports made to make
performance monitoring easier.
• Great for tracking down trickier
performance issues
Polish SQL Server User Group
Installation
• Download from web page
• Run *.msi package
• Execute setup.sql scripts
• Add reports to SSMS
Polish SQL Server User Group
DEMO
Polish SQL Server User Group
QUESTIONS?

More Related Content

What's hot

Oracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataOracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big Data
Abishek V S
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
Tanel Poder
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
Mark Ginnebaugh
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyAntonios Chatzipavlis
 
Who wants to be a DBA? Roles and Responsibilities
Who wants to be a DBA? Roles and ResponsibilitiesWho wants to be a DBA? Roles and Responsibilities
Who wants to be a DBA? Roles and Responsibilities
Kevin Kline
 
Database Automation with MySQL Triggers and Event Schedulers
Database Automation with MySQL Triggers and Event SchedulersDatabase Automation with MySQL Triggers and Event Schedulers
Database Automation with MySQL Triggers and Event Schedulers
Abdul Rahman Sherzad
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
Dean Richards
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid Infrastructure
Ilmar Kerm
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
Alfredo Krieg
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
AiougVizagChapter
 
Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019   Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019
Alfredo Krieg
 
Tips to install and manage always on availability groups in sql server 2012 &...
Tips to install and manage always on availability groups in sql server 2012 &...Tips to install and manage always on availability groups in sql server 2012 &...
Tips to install and manage always on availability groups in sql server 2012 &...
Antonios Chatzipavlis
 
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Andrejs Prokopjevs
 
Reduce latency and boost sql server io performance
Reduce latency and boost sql server io performanceReduce latency and boost sql server io performance
Reduce latency and boost sql server io performance
Kevin Kline
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Toronto-Oracle-Users-Group
 
Sql Server Performance Tuning
Sql Server Performance TuningSql Server Performance Tuning
Sql Server Performance Tuning
Bala Subra
 
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Alfredo Krieg
 
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
IOUG Collaborate 2015 - PDB Cloning Using SQL CommandsIOUG Collaborate 2015 - PDB Cloning Using SQL Commands
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
Leighton Nelson
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
Lars Platzdasch
 
SharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOnSharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOn
Zeddy Iskandar
 

What's hot (20)

Oracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataOracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big Data
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctly
 
Who wants to be a DBA? Roles and Responsibilities
Who wants to be a DBA? Roles and ResponsibilitiesWho wants to be a DBA? Roles and Responsibilities
Who wants to be a DBA? Roles and Responsibilities
 
Database Automation with MySQL Triggers and Event Schedulers
Database Automation with MySQL Triggers and Event SchedulersDatabase Automation with MySQL Triggers and Event Schedulers
Database Automation with MySQL Triggers and Event Schedulers
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid Infrastructure
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019   Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019
 
Tips to install and manage always on availability groups in sql server 2012 &...
Tips to install and manage always on availability groups in sql server 2012 &...Tips to install and manage always on availability groups in sql server 2012 &...
Tips to install and manage always on availability groups in sql server 2012 &...
 
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
 
Reduce latency and boost sql server io performance
Reduce latency and boost sql server io performanceReduce latency and boost sql server io performance
Reduce latency and boost sql server io performance
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
Sql Server Performance Tuning
Sql Server Performance TuningSql Server Performance Tuning
Sql Server Performance Tuning
 
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
 
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
IOUG Collaborate 2015 - PDB Cloning Using SQL CommandsIOUG Collaborate 2015 - PDB Cloning Using SQL Commands
IOUG Collaborate 2015 - PDB Cloning Using SQL Commands
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
SharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOnSharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOn
 

Similar to PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer

SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
Marek Maśko
 
SQL Server - Using Tools to Analyze Query Performance
SQL Server - Using Tools to Analyze Query PerformanceSQL Server - Using Tools to Analyze Query Performance
SQL Server - Using Tools to Analyze Query Performance
Marek Maśko
 
ow.ppt
ow.pptow.ppt
ow.ppt
ssuser96a63c
 
ow.ppt
ow.pptow.ppt
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Denny Lee
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1sqlserver.co.il
 
Breaking data
Breaking dataBreaking data
Breaking data
Terry Bunio
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
James Serra
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the Game
PARIKSHIT SAVJANI
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
Ralph Attard
 
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
veerendramb3
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
Gianluca Hotz
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityMichael Noel
 
pandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastpandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fast
Uwe Korn
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
Teamstudio
 

Similar to PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer (20)

SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
 
SQL Server - Using Tools to Analyze Query Performance
SQL Server - Using Tools to Analyze Query PerformanceSQL Server - Using Tools to Analyze Query Performance
SQL Server - Using Tools to Analyze Query Performance
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1
 
Breaking data
Breaking dataBreaking data
Breaking data
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the Game
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
 
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
 
pandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fastpandas.(to/from)_sql is simple but not fast
pandas.(to/from)_sql is simple but not fast
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 

Recently uploaded

TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 

Recently uploaded (20)

TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 

PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer

  • 1. Polish SQL Server User Group Troubleshoot SQL Server performance problems like a Microsoft Engineer
  • 2. Polish SQL Server User Group About the Author Marek Maśko • Senior Database Analyst in • Working with SQL Server for ~6 years • SQL DBA, Dev & Architect • Contact Information: Email: marek.masko@gmail.com LinkedIn: https://pl.linkedin.com/in/marekmasko Twitter: @MarekMasko
  • 3. Polish SQL Server User Group Scenario • Users report performance issue • You know nothing about server and database What you do?
  • 4. Polish SQL Server User Group Microsoft Customer Support Service • Users report performance issue • You open the MS Support Case • MS CSS gives you PSSdiag package and ask you to run it • You run it and collect the data • Than You upload collected data to the workspace • MS CSS returns with: – huge report about your SQL Server state – issue root cause explanation – Solution or recommendation How they do it?
  • 5. Polish SQL Server User Group Tools Data collection • PSSDiag / SQLDiag • Diag Manager Data analysis • SQLNexus – RML Utilities – Relog • PAL Tool
  • 6. Polish SQL Server User Group PSSDIAG
  • 7. Polish SQL Server User Group PSSdiag • Developed as a side project at Microsoft • Mainly used by CSS and PSS teams • Tool wrapper on other MS tools • Based on SQLDiag • Two versions: – Internal – External • Dramaticaly simplifies performance data collection
  • 8. Polish SQL Server User Group SQLDiag • It’s a command line utility delivered with SQL Server • Located in the installation Binn directory • It’s main purpose is to collect diagnostic data PSSdiag SQLDiag Collectors
  • 9. Polish SQL Server User Group What does it collect? • Event Logs • Performance Monitor Counters • Server Configuration • Error Logs • Profiler Trace • Blocking information • PerfStat Scripts • Spinlocks, query statistics query hashes ... • There is a possibility to add your own custom collectors!
  • 10. Polish SQL Server User Group How to run it? Security • Windows authentication is default • SQL authentication – Prompt for password • The account used to run it – Must be able to login into target instances – Must be a member of the sysadmin role – Must be a member of Administrators Configuration • Requires an XML configuration file (specifies what to collect)
  • 11. Polish SQL Server User Group Parameters • PSSdiag /B 14:00:00 • PSSdiag /E +02:00:00 • PSSdiag /B 08:00:00 /E +09:00:00 • PSSdiag /E 02:00:00 /L /Q • PSSdiag /R /A Myname • PSSdiag START /A Myname • PSSdiag /U /A Myname All command line parameters: http://msdn.microsoft.com/en-us/library/ms162833.aspx
  • 12. Polish SQL Server User Group Resource hit • PSSDiag itself is negligible • Collectors are efficient • Profiler tracing is expensive • Select output folder carefully • Do not capture more than you need • Always test and monitor it!
  • 13. Polish SQL Server User Group Extended periods • Run as a service so logout doesn’t stop collection • Profiler Trace dominates output file size • Trace files must always be collected on the server • Enables real-time NTFS compression (/C1) • Enable the DeleteOldTraceFiles
  • 14. Polish SQL Server User Group DIAG MANAGER
  • 15. Polish SQL Server User Group Diag Manager • GUI tool used to create configuration files • Can be downloaded for free from: http://diagmanager.codeplex.com
  • 16. Polish SQL Server User Group DEMO Lets take a look on PSSDiag
  • 17. Polish SQL Server User Group SQLNEXUS
  • 18. Polish SQL Server User Group SQL Nexus • Created as a side project at SQL Support Escalation team • Process the output of PSSDiag/SQLDiag into a database and runs Reporting Services reports on top of it • Allows users to create own collections and reports • Can be downloaded for free from: http://sqlnexus.codeplex.com/
  • 19. Polish SQL Server User Group Key Features • Fast data loading and processing • SQL Trace data aggregation using advanced logic and pattern recognition for intelligent statement execution grouping • Supports multiple databases to store several performance analysis data sets • Visualize loaded data via reports • Extensibility!
  • 20. Polish SQL Server User Group Pre-requsites • Windows 2008 or newer • SQL Server 2008 or newer • .NET framework 4.0 • RML Utilities
  • 21. Polish SQL Server User Group SQL Nexus reports • Built-in reports for: – Environment configuration – Blocking – Wait statistics – Resource utilization – Interesting events – Missing indexes – Data Statistics – Virtual file stats
  • 22. Polish SQL Server User Group Bottleneck Analysis
  • 23. Polish SQL Server User Group Read Trace Reports
  • 24. Polish SQL Server User Group Read Trace Reports
  • 25. Polish SQL Server User Group RML Utilities • Replay Markup Language (RML) Utilities for SQL Server • Can be downloaded for free from: https://support.microsoft.com/en-us/kb/944837 • Package contains: – ReadTrace – Reporter – OStress – OStress Replay Control Agent (ORCA)
  • 26. Polish SQL Server User Group ReadTrace • Command line tool for processing Profiler traces and Extended Event traces • ReadTrace consumes as input trace (.TRC) or (.XEL) files and .CAB or .ZIP files which contain .TRC files. • The outputs from ReadTrace can be .TRC files, .RML files and the Performance Analysis (PerfAnalysis) database. • RML Utilities have great documentation
  • 27. Polish SQL Server User Group Relog • Command line tool for processig performance counter logs • Possible formats: – Text-TSV (tab delimited text) – Text-CSV (comma-delimited text) – Binary-BIN – SQL • Has possibility to filter specified counters https://technet.microsoft.com/pl-pl/library/bb490958.aspx
  • 28. Polish SQL Server User Group DEMO Lets take a look on SQLNexus
  • 29. Polish SQL Server User Group CUSTOM DATA COLLECTIONS
  • 30. Polish SQL Server User Group Custom Data Collections • Add your SQL scripts to the _MyCollectors DiagManager folder • Make sure the resultsets have a tag that uniquely identifies them
  • 31. Polish SQL Server User Group Custom Data Collections • Custom Collections are added to the CustomDiag.XML file in the _MyCollectorsfolder • It is quicker to modify this XML file than do it through the UI
  • 32. Polish SQL Server User Group Custom Data Collections • Uses a custom import process • By modifying a XML configuration file, you can have SQL Nexus import your custom data collection from PSSDiag • Add the name of the rowset to TextRowsetsCustom.xml • Located where you installed SQL Nexus
  • 33. Polish SQL Server User Group DEMO
  • 34. Polish SQL Server User Group PAL TOOL
  • 35. Polish SQL Server User Group PAL Tool • PAL – Performance Analysis of Logs • Can be downloaded for free from: http://pal.codeplex.com/ • Allows you to set custom thresholds or use threshold already configured for your workload • Requires MS Chart Controls
  • 36. Polish SQL Server User Group PAL Wizard • Carefully choose options and answer questions • Processing will take time
  • 37. Polish SQL Server User Group PAL Output • Graphs with thresholds • Alerts summarized in time slices
  • 38. Polish SQL Server User Group PAL Output • The output is color coded to let you know the areas to focus on – You do have some control over this through the threshold files – Not everything in red actually means something • You must know what to look for
  • 39. Polish SQL Server User Group DEMO Lets take a look on PAL Tool
  • 40. Polish SQL Server User Group When to Use Which Tool? PSSDIAG / SQLNexus • More targeted performance analysis • Need to view SQL internal resources (waits, blocking chains, query plans) • Short timespan for collection PAL • Great for overall system performance • Benchmark • Long duration
  • 41. Polish SQL Server User Group SQL SERVER PERFORMANCE DASHBOARD
  • 42. Polish SQL Server User Group SQL Server Performance Dashboard Reports • Set of SSRS performance reports that integrate into SSMS • Can be downloaded for free from: https://www.microsoft.com/en-us/download/details.aspx?id=29063 • Custom reports made to make performance monitoring easier. • Great for tracking down trickier performance issues
  • 43. Polish SQL Server User Group Installation • Download from web page • Run *.msi package • Execute setup.sql scripts • Add reports to SSMS
  • 44. Polish SQL Server User Group DEMO
  • 45. Polish SQL Server User Group QUESTIONS?