Getting Started

Steps 1-2-3

  1. Install SQL Nexus and RML Utilities
  2. Collect perf data from your SQL Server 2005/2008/2008R2/2012 instance using SQLDiag
  3. Import and analyze the data using SQL Nexus


  1. following the Installation Steps carefully as it requires certain components

Collecting data

In order to use SQL Nexus, first you will need data collected. SQL Nexus relies on sqldiag.exe collector engine to collect data. But it needs to collect various DMV outputs and specific profiler trace events for the reports to work.
With release of pssdiag/sqldiag manager to codeplex, you have two choices to do data collection.
Method 1 (recommended): Please download pssdiag/sqldiag manager and configuration data collection package to collect data.
Method 2: you can continue to use old method to use bach files provided. collecting data using batch files.

Analyzing data

  1. Launch sqlnexus.exe and log on to the non-production SQL Server instance where you installed SQL Nexus.
  2. Click on "Import" in the left pane of the main SQL Nexus window.
  3. Provide the file directory where you stored the data collected by SQLDiag. Note: you should provide a directory path, not a file name.
  4. Once the import is finished, you can click on various reports from the left pane of SQL Nexus tool. Start with the "Bottleneck Analysis" report to determine where most query execution time was spent


Here is a quick walkthrough on how to use SQL Nexus to analyze diagnostic data collected using SQL Diag and PSSDIAG:

Last edited Mar 11 at 7:02 PM by jackli, version 21


LTDBA Wed at 9:34 PM 
Is it possible to collect and analyze the data by running the two .sql files from the SQL Agent? I can output the files using the Agent, but am unable to use Nexus to read them. Nexus will import the files, but not without errors and most of the reports are not available. It appears to be a formatting issue. I'd like to be able to run the dmv's on a continuous basis to collect the data without using the sqldiag or pssdiag utilities. Is there a way to understand how the SQLDiag util formats the output? Thanks.

sgdevaney Apr 2, 2013 at 7:43 AM 
The link to the tutorial is still broken. Can the owner(s) of the page please correct this.

ReplTalk Sep 19, 2012 at 7:40 PM link is broken.

threesun Nov 3, 2011 at 5:54 AM 
alternatively, you can go to this article for guidelines. it is quite useful...

HotRats Sep 24, 2010 at 5:33 AM 
The message "The database doesn't have the necessary data to run this report" can be raised when a different version of SQL Server is chosen. For example, if SQL Nexus has pricessed a SQL Server 2005 instance, and yet "SQL Server 2008" is clicked, the message "The database doesn't have the necessary data to run this report" can be raised. There are other reasons for this message (as Bart and Venu suggest), such as a case-sensitive SQL Server hosting the sqlnexus database (i.e. _not_ the case-sensitivity of the SQL Server from which data had been collected). But clicking (in SQL Nexus) upon all the other SQL Server version links (to see whther they raise the same "necessary data" message) should at least be a quick and dirty sanity check :).

bartduncan Jul 30, 2009 at 5:09 PM 
Steve, was SQLDiag configured to collect Perf Stats Script output? That's what those two reports are based on. Follow the "Collecting Data" instructions on this page to get your data, and it should work.

dbist Jun 16, 2009 at 4:19 PM 
My collation is case-insensitive and I still get the same message.

venukm Nov 24, 2008 at 10:04 PM 
If the collation for your server is case sensitive, I have seen these 2 reports not working and throwing the above error (You can find the collation by executing the stored proc sp_helpsort). Load the data onto a server where the collation is case insensitive and these 2 reports will work as expected.

steve67 Apr 10, 2008 at 8:46 PM 
I was asked to analyze statistics that were gathered by SQLDIAG. So I installed SQL Nexus (step 1) and imported the SQLDIAG directory (step 3). When I click on the "Blocking and Wait Statistics" report, I get a "The database doesn't have the necessary data to run this report" error. I get the same thing for the "Bottleneck Analaysis" report. Can someone help me get SQL Nexus configured properly?

BTW, I *do* get results when I click on the "Realtime - Server Status" report but it appears to be stats on my non-production SQL Nexus database.