Troubleshooting SQL Server on-premises Performance

Are you trying to figure out if you have SQL Server performance issues?

Is your server overloaded?

There are free tools to help you diagnose this.  Generally, I would tell you to get a support case opened, but you can do some diagnosis yourself if you wish.

Do not run in production, unless directed to by a Microsoft Support Engineer, and permitted by your organization.

The built in collection tool is called SQLDiag. The configuration tool for it is “DiagManager”.

“The SQLdiag utility is a general purpose diagnostics collection utility that can be run as a console application or as a service. You can use SQLdiag to collect logs and data files from SQL Server and other types of servers, and use it to monitor your servers over time or troubleshoot specific problems with your servers. SQLdiag is intended to expedite and simplify diagnostic information gathering for Microsoft Customer Support Services.”

https://docs.microsoft.com/en-us/sql/tools/sqldiag-utility

DiagManager will help configure SQLDiag to collect appropriate data to troubleshoot any performance issues.

Do not run in production, because it will slow it down.

“Pssdiag/Sqldiag Manager is a graphic interface that provides customization capabilities to collect data for SQL Server using sqldiag collector engine. The data collected can be used by SQL Nexus tool which help you troubleshoot SQL Server performance problems. This is the same tool Microsoft SQL Server support engineers use to for data collection to troubleshoot customer’s performance problems.”

https://github.com/Microsoft/DiagManager

How to run the tool, and collect into the output folder is detailed here.

https://github.com/Microsoft/DiagManager/wiki/Running-PSSDiag

Please zip and return the output folder to Microsoft support for further analysis.

The further analysis Microsoft does may include the following tools.  Microsoft will do the analysis, but feel free to play with these tools as well.

SQL Nexus reads output of SQLDiag to show performance issues.

https://github.com/Microsoft/SqlNexus

PAL is a tool to read perfmon files and compare against known good metrics.

https://github.com/clinthuffman/PAL

I would encourage anyone doing this performance troubleshooting to test on a test system.  Do not run in production, unless directed to by a Microsoft Support Engineer, and permitted by your organization.

Unknown's avatar

About George Walters

Director, Data and AI Specialist in Health and Life Sciences on Major accounts. Keynote speaker, father, and not-for-profit board member.
This entry was posted in Data, SQL Server. Bookmark the permalink.

Leave a comment