Skip to content

SQL Nexus version 7.22.03.23

Compare
Choose a tag to compare
@PiJoCoder PiJoCoder released this 24 Mar 16:25
· 271 commits to master since this release

Development Environment:

Visual Studio 2015/2017/2019

Prerequisites to run SQL Nexus

  1. .NET framework 4.6.2. Windows 10 anniversary update has version already.
  2. Download and install SQLSysClrTypes
  3. Download and install ReportViewer control (ReportViewer.msi)
  4. Download and install RML Utilities (RMLSetup_AMD64.msi)
  5. An instance of SQL Server (2012 or above) to connect to and process data
  6. 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

  1. Download the SQLNexus_7.22.03.23_Signed.zip from Assets below. This is a zip file that contains Microsoft digitally-signed binaries
  2. Extract in a path location of your choice
  3. 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*)