Releases: microsoft/DiagManager
PSSDiag Release (Linux) October 2024 (Signed)
How to Use:
- Expand Assests section and download pssdiag_linux20241001.tar
- Follow the instructions Run PSSDiag for SQL Server on Linux
Verify downloaded files
Verify the files by computing the hash using sha512sum and compare to the below values.
sha512sum pssdiag_linux20241001.tar
e5cf9be8e85564154cde2ca2b4b137bc8ccc04817cd60a0e4bc2dbef829da7daca71583cbf43476ea70d810a825e49047c58089681f2e977864c66170f25ea35
sha512sum pssdiag_linux20241001.tar.sig
cd2dadd7339a7e585ca99436428ec37fea66357a0e7d502bf7745d1b4312a493edff001870fd28f0929c215efd1a3ed81efcfae78bf579956716e27a5230d222
Verify the Archive by signature using Microsoft PGP key
#Import Microsoft PGP key
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
#Verify PSSDiag with Microsoft PGP key
gpg --verify pssdiag_linux20241001.tar.sig pssdiag_linux20241001.tar
Fix List
behaviour:
Most SQL on Linux deployment has 1 instance either host or container, PSSDiag by default will discover all SQL instances and tries to collect from every instance on machine, this behavior can be changed using scn files
New Collectors:
. Docker collectors, including the discovery of podman containers
. SQL AD Collector
. OS AD Collector
. Discovering the logs configured in krb5.conf to collect them.
. OS HA Collector
. PAL DMVs Collector
. PAL logs collector
. cGroup top consumer
. SQL process collector for process configuration and status, memory maps, collect only for child process
Enhancement
. SQL log collector now detects the location of the logs before collecting them. In case of non-default locations.
. Improve discovery process for container instance for host with multiple containers.
. Adding example for mycustom collector
. scn defaults changed to control the level of data collected for each scn.
. Adjusting output files to indicate the instance type for each file
. Add support for PSSDiag to run from within container, to support k8s deployments
Authentication
. Support Kerberos
. New option (NONE) to allow user to choose during runtime which Auth to use, in case of multi instance on single host
Run Scenarios
. Added the following new scenarios
sql_perf_detailed_kube.scn
sql_perf_general_kube.scn
sql_perf_light_kube.scn
sql_perf_minimal_kube.scn
sql_perf_minimal.scn
Bugs
. Fixing different bugs and code optimization.
. Adjusting Static collectors with all new Collectors
. Correct zombie sqlcmds processes when running inside container
. Make sure that we can invoke sqlcmd regardless of the client tool version, supports mssql-tools and mssql-tools18
Removed features
. Remove Dump collector, will use Static instead
Logging
. Include all collection activities in the PSSDiag log.
PSSDiag release 16.23.08.08 (Windows) August 2023 (signed)
How to Use:
- Download the PSSDIAG_v_16_23_08_08.zip (this is a zip file that contains .EXE, DLLs and .PS1 files digitally signed by Microsoft)
- Extract the contents of the .zip file in a path location of your choice
- Execute DiagManager.exe to launch the Pssdiag & Sqldiag Configuration Manager
For details, see Pssdiag wiki
Verify downloaded file:
You can verify the download by computing the hash of the PSSDIAG_v_16_23_08_08.zip file, using this command:
certutil -hashfile PSSDIAG_v_16_23_08_08.zip SHA512
Compare to this:
0a1a64849530ae390fc326bae2ff09b758e67ede3d38e24ad5813619315e86d39a78bb6310de5a12fcb823e746853d4bc64c87126c4b55a70e53f4acbae114f4
Fixlist
- Update to db scoped config to always include is_value_default #217
- Remove WaitForExe.cmd, sql_module_list.cmd, multicopy.cmd, multicopyr.cmd, and PssLooksAlive custom diag, ClearOrphanedBLGs.cmd, OutputCurTime.cmd, OutputCurTime.vbs -not used #219
- Avoid memory grants for diagnostic query #223
- Remove SQL processor utilization query against sys.dm_os_ring_buffers #224
- Switch serialization classes in ObjectCopier.Clone() to JsonSerializer for better security #226
- Remove any build/compile directives for DiagUtil #231 #178
- Fixed XML document related API calls with more secure XMLReader objects #231
PSSDiag release 16.22.11.11 (Windows) November 2022 (signed)
How to Use:
- Download the PSSDIAG_v_16_22_11_11.zip (this is a zip file that contains .EXE, DLLs and .PS1 files digitally signed by Microsoft)
- Extract the contents of the .zip file in a path location of your choice
- Execute DiagManager.exe to launch the Pssdiag & Sqldiag Configuration Manager
For details, see Pssdiag wiki
Verify downloaded file:
You can verify the download by computing the hash of the PSSDIAG_v_16_22_03_16.zip file, using this command:
certutil -hashfile PSSDIAG_v_16_22_11_11.zip SHA512
Compare to this:
52d03e80ec8dac10eecbf7f4566c6a1a8e3a8ccf5eb1f967ba04e8c7435b1f04ba92a1077702b392d52b408362f6c1bf77951a6733f2b21421e872ca851e122e
Fixlist
- Replaced any calls to xp_instance_regread with DMV data in CustomDiagnostics/SQL Base/MiscPssdiagInfo.sql #149
- Replace the TaskList collector from CMD to Powershell script and make it importable with SQL Nexus #156
- Improve the SystemInfo log to make it importable via SQL Nexus #155
- Resolved a collation conflict error when checking for expensive Xevents in the Xevents DMVs #157
- Fixing issues with script that prevented tbl_ServerProperties from getting data imported in SQL Nexus #160
- Create CDC Xevents (cdc_db_enable, cdc_error, cdc_session) as options in the Xevent GUI - #158
- Rewrote the DiagUti.exe perfmon counter translation logic into a Powershell script (eliminating the need for DiagUtil.exe) #70
- Removed references to DiagUtil.exe so it is no longer used by PSSDiag #178
- Added timestamps to the pssdiag.ps1 output
- Converted Errorlog collection from T-SQL/CMD task to a Powershell task. And added SQL Agent logs. #167
- Fixing Settings - Cancel button behavior for email checkbox and default path #169
- Fixed #73 - made General Perf the default scenario
- Adding data capture for sys.index_resumable_operations SQL 2019 #104
- Fixing issue #175 For -R param(Resister as a Service), pass the current path for -P if -P is not given and also removed backslash from /O output folder
- Fixing #150 Update Tempdb analysis collection script and add transactions DMVs
- Fix #150 - Renamed tempdb file and custom collector group to include transactions
- Fixes #78 by limiting to collect spinlocks with non-zero spins (smaller output)
- Fixing #74 Event logs still collecting after unchecking shutdown option
- Fixing #110 Make Profiler and Xevent at par to include Broker events
- Fixing #85 - reduce possibility for large memory grants from pssdiag queries
- #44 Add ADR related DMV collection
- Fixing #183 appending server and instance names to ERRORLOG and SQLAgent logs
- Removed duplicate information collected in Perfstats Snapshot and MiscPssdiagInfo scripts and only collect AG-related data in AlwaysOnDiagScript #162
- Pssdiag not able to find SQL Server 2008 R2 SQLDiag.exe #188
- Add info about instant_file_initialization_enabled in the data collection
- Fixing issue with database name not being read correctly in Full-text collector #193
- Fixing issue where unable to unregister custom-named service using /A #194
- Adding support for SQL 2022 - a choice for data collection #161
- Adding collection for fltmc (filter driver info) and the ability to import in SQL Nexus #199
- If an individual task is selected in a group, it is not executed due to files not copied #207
- Get ERRORLOG files below a certain size (1 GB) and for the remaining large files get first and last 300 lines #174
- Re-write Multicopy.cmd to Multicopy.ps1 #205
- Changes needed for XTP perfmon counters #101
- Ensure PSSDIAG collects a cluster log #203
- Improved the call to SQLDiag (using using &) without opening 2nd window but still acts as expected. #146
- Duplicate information collected about Stats in Perfstats Snapshot #140
PSSDiag Release (Linux) September 2022 (Signed)
How to Use:
- Download pssdiag_linux092022.tar
- Follow Configuring and Starting PSSDiag instructions sections in the README page.
- SQL Linux https://github.com/microsoft/DiagManager/tree/master/LinuxDiag#linux-and-docker-container-usage
- BDC https://github.com/microsoft/DiagManager/tree/master/LinuxDiag#sql-big-data-cluster-2019-usage
- Azure Arc-enabled SQL Managed Instance https://github.com/microsoft/DiagManager/tree/master/LinuxDiag#azure-arc-enabled-sql-managed-instance-usage
Verify downloaded files
Verify the files by computing the hash using sha512sum and compare to the below values.
sha512sum pssdiag_linux092022.tar
16d1a20354b057e62dab94923ad6fd3f5f4802b4b33297aeecd45ca6f7495b9c49cea56580274785f8bb3e287499759f2b1fe149665d9757134d5fec8dfce656
sha512sum pssdiag_linux092022.tar.sig
bce18ffdc7dcb98fa8c2baf4a87168e393e21c5b862faec4a0f3c7226683f2d13c9b8a8d60b864b03f8c8e5b2da0009f900bd849350664d67ad6dc14b75cb117
Verify the Archive by signature using Microsoft PGP key
#Import Microsoft PGP key
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
#Verify PSSDiag with Microsoft PGP key
gpg --verify pssdiag_linux092022.tar.sig pssdiag_linux092022.tar
Fix List
• Fixed container registry URI references
Addition List
• Merged all version of SQL Linux editions (Linux, BDC and Azure Arc SQL MI) into single this collector
• Collect --sys.databases_ex-- view
• Collect "Database Configuration" and "Server Configuration" to allow SQL Nexus include the information in Nexus relevant reports.
• Support for Integrated (kerberos) authentication, To use integrated authentication, change the scn file and modify SQL_CONNECT_AUTH_MODE to either AD to assume integrated authentication or SELECT to interactively select between user/pass or integrated authentication. If using AD you must authenticate before executing pssdiag by executing: sudo kinit
• PSSdiag log
• Reading errorlog folder location from configuration file
PSSDiag Release (Azure Arc-enabled Managed Instance) April 2022 (Signed)
How to Use:
- Download pssdiag_miaa_v_042022.tar
- Follow Configuring and Starting PSSDiag instructions sections mentioned in the README page.
Verify downloaded files
Verify the files by computing the hash using sha512sum and compare to the below values.
sha512sum pssdiag_miaa_v_042022.tar
2aff1314e05133be8997c4d3755954329d5a77eea79b9f56a13d9620b7f4610f2843ddff24169331f0d6d8736eff5bc471750e511c22444154883d9807cc8628
sha512sum pssdiag_miaa_v_042022.tar.sig
dbcea7cddf5d721887d3b43153ad62ce422d8776944251c4696798c0dfc37bd762750118dd2a9f8db7c167a27ab4dda65191a6857fc230e55134529d32e7235e
Verify the Archive by signature using Microsoft PGP key
#Import Microsoft PGP key
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
#Verify PSSDiag with Microsoft PGP key
gpg --verify pssdiag_miaa_v_042022.tar.sig pssdiag_miaa_v_042022.tar
PSSDiag Release (Linux) April 2022 (Signed)
How to Use:
- Download pssdiag_linux_v_042022.tar
- Follow Configuring and Starting PSSDiag instructions sections mentioned in the README page.
Verify downloaded files
Verify the files by computing the hash using sha512sum and compare to the below values.
sha512sum pssdiag_linux_v_042022.tar
426d77167d1d2a46d79e9c7edf7029ab20b82e88395f5ebb20922657d63024e7d6a6d9947204b598eb630358d55d250028ddf77dfc6d13c2a39a9f9d106f49d5
sha512sum pssdiag_linux_v_042022.tar.sig
019d58065fbe8ce930ceaf657977a85c7bc0fecdeb8807d863156667903ea9beb02594afa4495bced3e6a677d43832f58418001a1caca6e771603cea9a2286f7
Verify the Archive by signature using Microsoft PGP key
#Import Microsoft PGP key
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
#Verify PSSDiag with Microsoft PGP key
gpg --verify pssdiag_linux_v_042022.tar.sig pssdiag_linux_v_042022.tar
PSSDiag Release (BDC) April 2022 (Signed)
How to Use:
- Download pssdiag_bdc_v_042022.tar
- Follow Configuring and Starting PSSDiag instructions sections mentioned in the README page.
Verify downloaded files
Verify the files by computing the hash using sha512sum and compare to the below values.
sha512sum pssdiag_bdc_v_042022.tar
55bbe2fc0540e3d11136d22021de1485eb5b6e216a270d8dfc1f7e885c057c314c208f0b70ceca23b8d940b92115e2a04c2f29509b8da320ee556d48b5b2318f
sha512sum pssdiag_bdc_v_042022.tar.sig
314b1fe6e1771ec033b4a0517224ad4ee52cbb808fc4ba48a12091778b2e6817df69643b27b766197ea7e6cf1a349a2aa84317f8220615380b1f61bd5ca3d8f0
Verify the Archive by signature using Microsoft PGP key
#Import Microsoft PGP key
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
#Verify PSSDiag with Microsoft PGP key
gpg --verify pssdiag_bdc_v_042022.tar.sig pssdiag_bdc_v_042022.tar
PSSDiag 16.22.03.16 release (Windows) March 2022 (signed)
This release includes a lot of new changes that were taken from another Github repo of the same product and merged into here.
How to Use:
- Download the PSSDIAG_v_16_22_03_16.zip (this is a zip file with .EXEs and .PS1 files digitally-signed by Microsoft)
- Extract the contents of the .Zip file in a path location of your choice
- Execute DiagManager.exe to launch the Pssdiag & Sqldiag Configuration Manager
Verify downloaded file:
You can verify the download by computing the hash of the PSSDIAG_v_16_22_03_16.zip file, using this command:
certutil -hashfile PSSDIAG_v_16_22_03_16.zip SHA512
Compare to this:
f7eea0fee3455eed78be519011dc29ff6b0a2860339bbdc6a1927a2c28b2364406f3a2dd9c2dab75807237fb18defd1f8b72ecaa40064da81b74b99439708e70
Fixlist
- Added pssdiag.ps1 command file for invoking PSSDIAG and removed PSSDIAG.CMD
- Added code to compute a hash value for pssd.zip file before it is sent out in an email
- Added an email popup functionality which happens when file is saved (provides instructions)
- Updated the Settings menu to allow users to enable/disable email functionality
- Update to Change_Tracking.sql
- Аdded logic to exclude Manual*.cmd files if instance name is *. If server name == ".", we replace it the local server name in the batch file
- Removed Xperf* files from the project as they are no longer referenced and xperf.exe not available by default on OS
- Added Save and Cancel buttons in Settings menu and removed TableLayoutPanel
- Removed Security Event log from being collected default (too large and rarely used)
- Fixed issue where PSSDIAG was not removing the pssdiag_xevent event
- Fixed a minor bug in MsInfo32 batch: there was a missing .CMD file so replaced with a function
- Switched from collecting MsInfo32 to Systeminfo.exe (so it can run on Windows core and is much faster)
- Converted get_msinfo.cmd into a Powershell file
- Moved part of DiagUtil code into the pssdiag.ps1 to locate the correct SQLDiag.exe execution directory and version
- Added sys.dm_os_threads in a query in the HighCPU perfstats script to capture threadID for parallel queries
- Added an expensive_event column to Xevent session details
- Added XEvent for backup progress: backup_restore_progress_trace
- Added feature: Never-ending,High CPU query troubleshooting using Lightweight infrastructure. This allows to capture logs for CPU-driving queries that run for a very long time
- Fixed an issue with collecting statistics info from instances where there are secondary replica databases with readable secondary disabled or read intent only.
- Fixed a script in SQL_Server_Mem_Stats.sql where some values were collected as NULL rather than proper values
- Added Admin privileges check and if not present quit pssdiag
- Fixed Invalid Path issues in pssdiag.ps1 caused by registry lookup in Get-ItemProperty
- Added a check and warning for incorrect registry values for CurrentVersion which would cause SQLDiag.exe collection to fail
- Updated SQL Perfstats snapshot to capture explicit columns for some DMVs and to handle secondary replica in AG. Also simplified and improve statistics DMV capture
PSSDiag Arc-enabled SQL Managed Instance Release Jan 2022
This PSSDiag release for Arc-enabled SQL Managed Instance. Please go through the Readme for instructions on how to run
PSSDiag Windows Release June 2021 (signed)
This release includes a lot of new changes that were taken from another Github repo of the same product and merged into here.
Also, the release files are now included into a self-extracting executable which is digitally signed.
How to Use:
- Download the PSSDIAG_v_15_21_06_23.EXE (this is a digitally signed self-extracting zip file by Microsoft)
- Double-click on it to allow files to be extracted in a path location of your choice
- You will now see a zip file which you can extract into a subfolder, e.g. \Diagmanager_15.21.06.23
- Execute DiagManager.exe to launch the Pssdiag & Sqldiag Configuration Manager
Verify downloaded file:
You can verify the download by computing the hash of the PSSDIAG_v_15_21_06_23.EXE file, using this command:
certutil -hashfile PSSDIAG_v_15_21_06_23.EXE SHA512
Compare to this:
a4591a45805ffd9016856a7540acf680df862ee452b42fdf83e8cc88823f0914b5e47c8cc84fbde478df69a74372887dd5aef9e0554fc531a79fe836257da889