SQL Nexus version 7.22.03.23
Development Environment:
Visual Studio 2015/2017/2019
Prerequisites to run SQL Nexus
- .NET framework 4.6.2. Windows 10 anniversary update has version already.
- Download and install SQLSysClrTypes
- Download and install ReportViewer control (ReportViewer.msi)
- Download and install RML Utilities (RMLSetup_AMD64.msi)
- An instance of SQL Server (2012 or above) to connect to and process data
- Optional: PowerBI Desktop
Automate Prerequisites Installation
You can use the following PowerShell file (https://github.com/microsoft/SqlNexus/blob/master/Setup-Related/SetupSQLNexusPrereq.ps1) to install the three required and one optional prerequisites for SQL Nexus
How to Download and Use
- Download the SQLNexus_7.22.03.23_Signed.zip from Assets below. This is a zip file that contains Microsoft digitally-signed binaries
- Extract in a path location of your choice
- Go to the path and run sqlnexus.exe
Verify downloaded file:
You can verify the download by computing the hash of the SQLNexus_7.22.03.23_Signed.zip file, using this command:
certutil -hashfile SQLNexus_7.22.03.23_Signed.zip SHA512
Compare to this:
ab4b380b76b1d363c8c55692c032c6391936edb3fbff3dc1a95562a70b551b9f8da061ad94155554581b05c42207c601138069d984318fcd5d770e7086999963
List of fixes and enhancements:
- Fix: Re-wrote stored procedures usp_IOAnalysis, usp_SQLHighCPUconsumption, usp_KernelHighCPUconsumption and allowed for rules to be shown in Best Practices summary
- Fixed artithemtic overflow issue in [usp_SQLHighCPUconsumption] if the CPU count is not valid
- Added LocalTime columns in ReadTrace.tblBatches, ReadTrace.tblStatements, ReadTrace.tblConnections to allow for joining with other tables
- Added checks for table existence before trying to use tables in PerfAnalysis script
- Added try/catch block to main()
- Fix: Removed reference to the PerfmonCharts report since pal_counters table was not created
- Added index to CounterData table to improve reports performance
- Introduced a new post-import Test file that can be used to validate that tables exist
- Added new rowsets to Textrowset file, so now more tables will be imported and can be queried (if data was captured)
- tbl_database_options
- tbl_db_TDE_Info
- tbl_server_audit_status
- tbl_Top10_CPU_Consuming_Procedures
- tbl_Top10_CPU_Consuming_Triggers
- tbl_Hist_Top10_CPU_Queries_ByQueryHash
- tbl_Hist_Top10_LogicalReads_Queries_ByQueryHash
- tbl_Hist_Top10_ElapsedTime_Queries_ByQueryHash
- tbl_Hist_Top10_CPU_Queries_by_Planhash_and_Queryhash
- tbl_Hist_Top10_LogicalReads_Queries_by_Planhash_and_Queryhash
- tbl_Hist_Top10_ElapsedTime_Queries_by_Planhash_and_Queryhash
- tbl_hadron_replica_info
- tbl_availability_groups
- tbl_hadr_cluster
- tbl_hadr_cluster_members
- tbl_hadr_cluster_networks
- tbl_availability_replicas
- tbl_CPU_bound_query_never_completes
- tbl_profiler_trace_event_details
- Added missing columns to these rowsets
- sys.dm_database_encryption_keys
- sys.dm_db_stats_properties
- sys.resource_governor_configuration
- sys.resource_governor_resource_pools
- sys.resource_governor_workload_groups
- sys.availability_groups
- sys.availability_replicas
- Added rowset tbl_CPU_bound_query_never_completes to support new Custom collector in PSSDIAG - NeverEndingQuery
- Added os_thread_id column in tbl_high_cpu_queries to support the latest change made to PSSDIAG/SQLLogScout script
- Added version in the title bar of SQL Nexus
- Refactored DataValidation when examining data types during import
- Added logic to make PostProcess output cleaner in the log
- Fixed PostProcess functionality which was not working before. Introduced additional logging
- Update URL links to PerfAnalysis rules
- Removed some wait types from being reported in Bottleneck analysis as those are benign (SOS_WORK_DISPATCHER and most HADR*)