Skip to content

Releases: microsoft/SqlNexus

SQL Nexus version 7.24.02.18

16 Feb 16:24
Compare
Choose a tag to compare

Prerequisites to run SQL Nexus

  1. .NET framework 4.8 (runtime is sufficient). Windows 11 has version already.
  2. Download and install RML Utilities (RMLSetup_AMD64.msi)
  3. An instance of SQL Server (2012 or above) to connect to and process data
  4. Optional: PowerBI Desktop

Note: Starting this version 7.27.02.18, it's no longer required to install SQLSysClrTypes and ReportViewer Control. These come packaged with SQL Nexus

How to Download and Use

  1. Download the SQLNexus_7.24.02.18_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.24.02.18_Signed.zip file, using this command:

certutil -hashfile SQLNexus_7.24.02.18_Signed.zip SHA512

Compare to this:

5d54142e4bc8ca193ad51edb4641de199670719a2c645b662505d541162a9535bd1af94a87dfe2d62854219bfc5c14c74059c69549a93daf3b13873116f04d8f

List of fixes and enhancements:

  • Fixes issue with PowerBi Performance Report that does not display many of the report charts from an FCI instance - #241
  • Adds the option in the GUI to enable/disable minimizing of window when processing Permfon BLG files - #250
  • Add REDO_THREAD_PENDING_WORK to ignorable wait types in reports - #251
  • Add new XML rowsets to SQL Nexus for In-memory /plan cache - #246
    • tbl_proccache_summary
    • tbl_proccache_pollution
    • tbl_dm_db_xtp_index_stats
    • tbl_dm_db_xtp_hash_index_stats
    • tbl_dm_db_xtp_table_memory_stats
    • tbl_dm_db_xtp_memory_consumers
    • tbl_dm_db_xtp_object_stats
    • tbl_dm_xtp_system_memory_consumers
    • tbl_dm_xtp_system_memory_consumers_summary
    • tbl_dm_xtp_gc_stats
    • tbl_dm_xtp_gc_queue_stats
    • tbl_dm_db_xtp_transactions
    • tbl_dm_xtp_transaction_stats
  • If a report uses multiple tables it should not appear on SQL Perf Main report when not all tables are present - #232
  • Fixes Workingset Trimming Report not working - #247
  • Add a new Best Practice/Analysis Summary warning for Common Criteria Compliance being enabled - #243
  • Option to import traces using Local Server time. (Call ReadTrace.exe with -B)- #238
  • Some Importer options aren't "saved" despite "Save my options" being enabled - #254
  • Expose the report queries within each SQL Nexus report so users can customize their data mining - #239
  • Make SQL Nexus case-sensitivity aware for case-sensitive servers - #61
  • Server Name and version information fields exists on the header of some reports but it is always empty. - #263
  • New Rowset Editor application that helps with adding rowsets for import into SQL Nexus - #268
  • Create a rowset to import Environmental variables collection in a table tbl_environment_variables - #271
  • Add some wait types to ignorable list so they don't show up in bottleneck analysis report: CHECKPOINT_QUEUE, PARALLEL_REDO_WORKER_WAIT_WORK, QDS_ASYNC_QUEUE, PWAIT_EXTENSIBILITY_CLEANUP_TASK - #265
  • Remove the installation prerequisite on ReportViewer control ship with application. Also update version of Report Viewer Control (15.0.1586.0)- #140
  • Switch SQL Nexus to use Microsoft.Data.SqlClient - #270

Development Environment:

Visual Studio 2015/2017/2019/2022

SQL Nexus version 7.23.06.06

02 Jun 22:33
75fe25f
Compare
Choose a tag to compare

Development Environment:

Visual Studio 2015/2017/2019/2022

Prerequisites to run SQL Nexus

  1. .NET framework 4.8 (runtime is sufficient). Windows 11 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.23.06.06_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.23.06.06_Signed.zip SHA512

Compare to this:

e66372056b59795e0bf1aa69f763d73f9df2d6818a045889963dc9119a651f029144fd5a239ff104059b0bf5202cd94d26e84e85f1f618652d52d0e6506ce505

List of fixes and enhancements:

  • Added 8 new sp_configure best practices rules to call out certain config values and recommend actions on them
  • Multiple improvements in Best Practices report and back-end table rules (visual changes, new icons, tablix changes, colors, report parameters, added report column to jump directly to specific report) #209
  • Re-design the main form of SQL Nexus - move buttons and links around, update colors #217
  • Improve performance of Perfstats analysis queries to speed up overall post import (#215, #213, #150)
  • Added Duration metric for some import phases that were missing on the main import window (#214)
  • Perf improvement and improvement of batchsort rule message, removed some old test file
  • Updated best practices rules - Memory grants, Excessive trace, Missing indexes, Deadlock Trace flag (#215)
  • Changed behavior of Import form: when the db already has Nexus data, don't close the form after error. Stay on and allow user to choose to drop existing db (#216)
  • Added rowsets for the following tables to be importable (#219):
    • tbl_hadr_ag_automatic_seeding
    • tbl_hadr_ag_physical_seeding_stats
    • tbl_sp_certificate_issuers
    • tbl_certificates
    • tbl_dm_db_log_info
  • Added new best practices rules for Spinlock stats, Optimizer timeout, Loaded modules (#215)
  • Added a new tablix in the Database Configuration report for Database Scoped configuration (#210)
  • Enabled Loaded Modules report to work - it was not showing up
  • Added 2 Best practices rules for AG health check and endpoint check (#196)
  • Updated Best practices rule to detect abnormal gaps in data collection script outputs (#91)
  • Added rowsets for the following tables to be imported (#222, #228):
    • tbl_dm_io_virtual_file_stats
    • tbl_query_store_wait_stats
    • tbl_database_query_store_options
    • tbl_query_store_query_hints
    • tbl_query_store_plan_feedback
    • tbl_query_store_query_variant
  • Allow for Best Practices main report to be visible even when no Perf data is collected (#223)
  • Created Tempdb space usage report (#204)
  • Fixed Active Traces and XEvents report to show non-MS Xevents under the proper section + Show expensive Xevents and Trace events (#229)
  • Updated SetupSQLNexusPrereq.ps1 to install RML utilities with latest version and better checks (#235)
  • Add installation of .NET Framework 4.8 in the prerequisites setup script - SetupSQLNexusPrereq.ps1 (#234)

SQL Nexus version 7.22.11.11

23 Nov 01:14
Compare
Choose a tag to compare

Development Environment:

Visual Studio 2015/2017/2019/2022

Prerequisites to run SQL Nexus

  1. .NET framework 4.8 (runtime is sufficient). Windows 11 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_v_7_22_11_11_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_v_7_22_11_11_Signed.zip SHA512

Compare to this:

109496d029cabdb4e352736a0354ad2ec39b56010ec3aa4028cea9a5451b9c1ea980001aa02b447b1962f82972a3b98079a913df397d4cd19e53bb825a9e80e2

List of fixes and enhancements:

  • Added new rowsets to Textrowset file, so now more tables will be imported and can be queried (if data is captured)
    • tbl_SystemInformation
    • tbl_ActiveProcesses_OS
    • tbl_database_scoped_configurations
    • tbl_ActiveServices_OS
    • tbl_ActiveProcesses_with_ModulesLoaded
    • tbl_dm_os_sys_info
    • tbl_index_resumable_operations
    • tbl_dm_os_sys_info (was not importing before due to incorrect identifier)
    • tbl_availability_groups
    • tbl_availability_replicas
    • tbl_fltmc_filters
    • tbl_tempdb_space_usage_by_file
    • tbl_dm_db_file_space_usage_summary
    • tbl_dm_db_session_space_usage
    • tbl_dm_db_task_space_usage
    • tbl_open_transactions
    • tbl_tempdb_usage_by_object
    • tbl_tempdb_waits
    • tbl_dm_tran_aborted_transactions
    • tbl_dm_tran_persistent_version_store_stats
    • tbl_repl_sourceserver
    • tbl_repl_msdb_jobs
    • tbl_repl_msarticles
    • tbl_repl_mscached_peer_lsns
    • tbl_repl_msdistribution_agents
    • tbl_repl_msdistribution_history
    • tbl_repl_mslogreader_agents
    • tbl_repl_mslogreader_history
    • tbl_repl_msmerge_agents
    • tbl_repl_msmerge_history
    • tbl_repl_msmerge_identity_range_allocations
    • tbl_repl_msmerge_sessions
    • tbl_repl_msmerge_subscriptions
    • tbl_repl_mspublication_access
    • tbl_repl_mspublications
    • tbl_repl_mspublicationthresholds
    • tbl_repl_mspublisher_databases
    • tbl_repl_msqreader_agents
    • tbl_repl_msrepl_backup_lsns
    • tbl_repl_msrepl_commands_oldest
    • tbl_repl_msrepl_commands_newest
    • tbl_repl_msrepl_errors
    • tbl_repl_msrepl_identity_range
    • tbl_repl_msrepl_originators
    • tbl_repl_msrepl_transactions_oldest
    • tbl_repl_msrepl_transactions_newest
    • tbl_repl_msrepl_version
    • tbl_repl_msreplication_monitordata
    • tbl_repl_mssnapshot_agents
    • tbl_repl_mssnapshot_history
    • tbl_repl_mssubscriber_info
    • tbl_repl_mssubscriber_schedule
    • tbl_repl_mssubscriptions
    • tbl_repl_mssync_states
    • tbl_repl_mstracer_history
    • tbl_repl_mstracer_tokens
    • tbl_repl_msRedirected_Publishers
    • tbl_repl_msreplservers
    • tbl_repl_sysservers
    • tbl_repl_msrepl_agent_jobs
    • tbl_windows_hotfixes_installed
  • Added post-import clean-up for tbl_ActiveProcesses_OS and tbl_SystemInformation
  • Added a new test file in Tests/Post-Import-Test.sql to help indetify which tables were imported
  • Removed the word Idle from the title in CPU report #88
  • Added a Linux perfmon converter, which converts Linux OS counter files to .BLG files (does not import them) - #160
  • Fixing #166 and some issues with tbl_availability_replicas where replica_id and group_id were not being imported successfully
  • Create, Clean-up/deduplicate AG-related XML rowsets in the RowsetImportEngine\TextRowset.xml #157
  • Fixed exception for missing table tbl_PERF_STATS_SCRIPT_RUNTIMES #55
  • Cleaned up old names in reports #162
  • Added usp_Expensive_TraceEvts_Used and usp_Expensive_XEvts_Used #78 rules to check for expensive Xevents and Trace events
  • Upgrade the target .NET Framework to supported version 4.8 #173
  • Add lookup table for filter drivers FLTMC so we can display manufacturer name for drivers #183
  • Switched to using Perfmon counters for bottleneck analysis CPU graph #193
  • Create new SQL Nexus reports for Always On Datasets #172
  • Create a RDL report that shows Replication topology and other repl output #189
  • Add a new RDL report to display filter drivers info #200
  • Test SQL Nexus on SQL Server 2022 and on Windows 2022 #181
  • Issue with SQLNexus_PostProcessing.sql where the StartTime_Local and EndTime_local not being created #133
  • Add a InputFile column to all resultsets in the SQL PerfSnapshot SQL script to distinguish startup vs. shutdown collection #138

SQL Nexus version 7.22.03.23

24 Mar 16:25
Compare
Choose a tag to compare

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*)

SQL Nexus 7.21.07.07

19 Aug 17:14
Compare
Choose a tag to compare

Development Environment:

  1. Visual Studio 2015/2017
  2. Report Builder 2016

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 Use

  1. Download the SQLNexus_v_7_21_07_07.EXE (this is a digitally signed self-extracting zip file by Microsoft)
  2. Double-click on it to allow files to be extracted in a path location of your choice
  3. You will now see a SQLNexus_v_7_21_03_26.zip file which you can extract into a subfolder, e.g. \SQLNexus_v_7_21_03_26
  4. Go to the new subfolder and execute sqlnexus.exe

Fix List:

  • Fixing exception when a DLL component missing
  • Fixing issue where not all rowset rows were importing succesfully
  • Fixed issues with backslashes in command line parameters for SQL Nexus
  • Added a new rowset tbl_Query_Execution_Memory_MemScript
  • Added the ability to import SQL LogScout-collected traces
  • Adding a new rowset definition for tbl_server_times
  • Fixing issue where DataReader remained open/not properly disposed
  • Fixing Perfstatsanalysis.sql where scheduler table was incorrect
  • Cleaning up and improving performance for Batch parser logic for "GO" separator

SQL Nexus 7.21.03.26

27 Mar 00:50
52f0dba
Compare
Choose a tag to compare

Development Environment:

  1. Visual Studio 2015/2017
  2. Report Builder 2016

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 Use

  1. Download the SQLNexus_v_7_21_03_26.EXE (this is a digitally signed self-extracting zip file by Microsoft)
  2. Double-click on it to allow files to be extracted in a path location of your choice
  3. You will now see a SQLNexus_v_7_21_03_26.zip file which you can extract into a subfolder, e.g. \SQLNexus_v_7_21_03_26
  4. Go to the new subfolder and execute sqlnexus.exe

Fix List:

  • Added support for PowerBI reports and included reports with SQL Nexus

  • Added import support in Textrowset.xml for 6 more tables where were in the PSSDIAG data but not imported
    tbl_dm_os_memory_pools
    tbl_dm_os_memory_objects
    tbl_dm_os_ring_buffers_mem
    tbl_Query_Execution_Memory
    tbl_dm_os_loaded_modules
    sys.dm_os_sys_info
    tbl_dm_os_loaded_modules_non_microsoft

  • Fixing bugs in PerfStats analysis script and adding logging for ExecuteScript()

  • Modified references to Codeplex in RDL files to point to Github

  • Changed startup param for dropDb to 'N' and resolved MODIFY FILE issue …where the LDF size is larger than 50 MB

  • Introduced a Powershell file to install ALL the prerequisites …This would solve the trouble of hunting for prerequisite files manually. This is available on GitHub /Setup-Related folder

  • Changed QuietMode to QuiteNonInteractive variable and Quiet Mode --Help definition

    • Changed the Quiet mode definition to a clarify minimized window
  • Added logic separate for console mode and GUI mode in KeepPriorNonEmpyDb

  • Implemented logic to terminate cmd-line SQLNexus if Db is present and has nexus data

  • Fixed issue with using KeepPriorNonEmptyDB

  • Fixing issues related to running in Console mode (command line) …

  • Added support for /N command line param to allow Drop existing DB and create a new one - was not there before for command line

    • /N              Create a new SQLNexus database before importing (drop existing).
  • Shows a dialog when missing ReadTrace.exe or folder, instead of crashing SQL Nexus

  • Improved logging and messages in SQLNexus log and on screen (message bar at lower left corner)

  • Created Progress bars for ALL activities happening during Import and post-import activities

    • Added support for a progress bar and status update when perfstats analysis runs (after import)
    • Progress bar for post-process work
    • Progress bar for raw file imports
    • Progress bars for enumerating reports and counting runtime snapshots in db
  • Added a Close button at the end of the import

  • Change the size of the Import window

  • Fixed Stop button to function "as expected" - it was not truly stopping the import before

  • Improved Import performance by removing duplicate execution of each table drop and create statement for each object.

  • Enabled the Tasks panel with links to Nexus and RML logs (on the left) to be visible/active at all times. This allows you to view progress in SQL Nexus log during Import for example

  • Fixed a bug where using SQL Authentication was not consistent across the product and in some cases it was still using Windows authentication.

SQL Nexus 6.0.0.8

26 Jul 15:22
Compare
Choose a tag to compare

SQL Nexus 6.0.0.8 is the first release on GitHub. This will be our new release platform. Please stop using codeplex version.

Development Environment

  1. Visual Studio 2017
  2. Report Builder 2016

Requirements to run the tool

  1. .NET framework 4.6.2 (https://www.microsoft.com/en-us/download/details.aspx?id=53344). Windows 10 anniversary update has version already.
  2. One of the following on the machine where you will run the tool:
    a. SQL Server 2016
    b. SQL Server 2016 feature components (https://www.microsoft.com/en-us/download/details.aspx?id=52676)
    i. Download and install enu\x86\sqlsysclrtypes.msi
    ii. Download and install enu\x86\reportviewer.msi
  3. An instance of SQL Server (2012 or above) to be connected by this tool to process data

Improvements and fixes

Major rules added

  1. warn if change table is used because it can cause high cpu
  2. warn if “access check” configuration is not set correctly because it can cause high CPU
  3. warn if attention occurs and involves in blocking
  4. warn if there are major gaps detected in perf stats script run
  5. warn presence of TF 1222

Major fixes

  1. not all trace flags apply to aall versions. This fix will raise warning based on version
  2. removed limit report times out at 60 seconds
  3. change nexus DB recovery to simple
  4. provides warning if you have both .xel and .trc files captured (import will fail)

Download

Binary SQLNexus.6.0.0.8.zip