Making the SQL Server 2005 Performance Dashboard Work in SQL Server 2008
The SQL Server 2005 Performance Dashboard is a free Microsoft reporting tool that surfaces dynamic management view (DMV) data through a visual interface, without requiring you to write T-SQL queries from scratch. It works well in SQL Server 2005, but if you try to run it against a SQL Server 2008 instance without modification, you'll hit errors. The fix is straightforward: Microsoft published a specific update to make the Performance Dashboard compatible with SQL Server 2008, and applying it takes only a few minutes.
If you're still running SQL Server 2008 or 2008 R2 in production, getting this tool working properly gives you immediate visibility into wait statistics, query performance, and resource contention - all through a graphical report interface rather than raw DMV queries.
What Is the SQL Server Performance Dashboard?
The Performance Dashboard is a set of custom reports built for SQL Server Management Studio (SSMS). Microsoft originally released it for SQL Server 2005 as a free download, and it became popular quickly because it made DMV data accessible to DBAs and administrators who didn't want to write complex T-SQL every time they needed a performance snapshot.
The dashboard surfaces information across several key areas:
- CPU usage - current utilisation and historical trends
- Wait statistics - what SQL Server is waiting on and for how long
- Expensive queries - top queries by CPU, duration, and logical reads
- Blocking - active blocking chains and their history
- I/O statistics - file-level read and write activity
- Missing indexes - index recommendations derived from query execution plans
Each of these data points comes from SQL Server's DMVs, which have been available since SQL Server 2005. The dashboard simply packages them into a readable, clickable report format that you can launch directly from SSMS.
Why Doesn't It Work in SQL Server 2008 Out of the Box?
When Microsoft released SQL Server 2008, they made changes to several DMVs and extended the data available through them. The original 2005 Performance Dashboard reports reference specific column names and view structures that either changed or were added to in SQL Server 2008. Running the unmodified reports against a 2008 instance produces errors because the queries behind the reports don't account for those schema differences.
This isn't a fundamental incompatibility - it's a version mismatch in the underlying report queries. The fix involves updating the stored procedures and report definitions that the dashboard installs, so they reference the correct DMV columns for SQL Server 2008.
How to Fix the Performance Dashboard for SQL Server 2008
Microsoft documented the required changes in a TechNet blog post. The process involves downloading the original SQL Server 2005 Performance Dashboard, installing it, and then applying the SQL Server 2008-specific modifications.
Here's the step-by-step process:
Step 1: Download and install the original Performance Dashboard
Download the SQL Server 2005 Performance Dashboard from the Microsoft Download Centre (search for "SQL Server 2005 Performance Dashboard Reports"). Run the installer, which will place the report files and setup script on your machine, typically under C:\Program Files\Microsoft SQL Server\90\Tools\PerformanceDashboard\.
Step 2: Run the setup script against your SQL Server 2008 instance
The installer includes a T-SQL setup script called setup.sql. Run this against the msdb database on your SQL Server 2008 instance. This creates the stored procedures the reports depend on.
USE msdb;
GO
-- Run setup.sql from the Performance Dashboard installation directory
-- This creates the required stored procedures in msdb
Step 3: Apply the SQL Server 2008 compatibility fixes
This is the critical step. The stored procedures created in Step 2 reference DMV columns as they existed in SQL Server 2005. For SQL Server 2008, several of these need to be updated.
The key changes involve the sys.dm_exec_query_stats DMV, which gained additional columns in SQL Server 2008, and sys.dm_os_wait_stats, where some wait type handling changed. The Microsoft TechNet article by Rob Kerr (published February 2009) provides the exact T-SQL to drop and recreate the affected stored procedures with SQL Server 2008-compatible definitions.
Apply those updated stored procedure definitions to your msdb database before opening the reports.
Step 4: Open the reports in SSMS
In SQL Server Management Studio, right-click on your server name in Object Explorer, select "Reports", then "Custom Reports". Navigate to the Performance Dashboard .rdl file and open it. If the stored procedures are correctly in place and updated, the dashboard will load and populate with live data from your instance.
What to Watch Out For
A few things can catch you out during this process.
Permissions matter. The stored procedures in msdb query DMVs that require the VIEW SERVER STATE permission. The account running the reports needs this permission granted explicitly, or the reports will return empty results or permission errors rather than useful data.
GRANT VIEW SERVER STATE TO [YourLoginHere];
GO
The data is point-in-time. DMV data resets when SQL Server restarts. If you're investigating a performance issue that occurred yesterday and the instance restarted overnight, the wait statistics and query data will reflect only what's happened since the last restart. This is a fundamental characteristic of DMV-based monitoring, not a limitation of the dashboard itself.
SQL Server 2008 R2 needs the same fix. The SQL Server 2008 R2 release didn't revert the DMV changes, so if you're on 2008 R2, you need the same compatibility updates. The same fix applies to both.
SSMS version compatibility. You'll get the best results running the dashboard from an SSMS version that matches or is close to your SQL Server version. Running very modern SSMS against a SQL Server 2008 instance occasionally produces rendering quirks in custom reports, though the underlying data is unaffected.
Is the Performance Dashboard Still Useful Today?
For SQL Server 2008 and 2008 R2 environments, yes - it's still a practical tool. It's free, it requires no third-party software, and it gives a reasonable performance snapshot without needing to write T-SQL. For teams without dedicated DBAs, it lowers the barrier to basic performance investigation significantly.
That said, it's worth being clear about its limitations. The Performance Dashboard is a read-only, point-in-time reporting tool. It doesn't store historical data, it doesn't alert you to problems, and it doesn't trend performance over time. For serious performance monitoring, you need something more capable - whether that's SQL Server's built-in Data Collector, a third-party monitoring tool, or a managed monitoring service.
It's also worth noting that SQL Server 2008 and 2008 R2 reached end of extended support in July 2019. Running these versions in production today carries real security and compliance risk. The Performance Dashboard is a useful diagnostic aid, but it's not a substitute for a supported SQL Server version.
Key Takeaways
- The SQL Server 2005 Performance Dashboard requires specific stored procedure updates before it will work correctly against SQL Server 2008 or 2008 R2 instances.
- The fix involves updating DMV references in the
msdbstored procedures to account for schema changes Microsoft made between SQL Server 2005 and 2008. - Accounts running the dashboard reports need the
VIEW SERVER STATEpermission granted at the server level. - DMV data resets on service restart, so the dashboard only reflects performance since the last restart.
- SQL Server 2008 and 2008 R2 are both end-of-life. If you're still running these versions, a supported upgrade path should be a priority.
If you're managing a SQL Server 2008 environment and relying on tools like the Performance Dashboard to stay across performance issues, it's a sign that your monitoring setup could use a proper review. DBA Services provides SQL Server health checks and managed support for organisations across Australia, including environments running older SQL Server versions that are being migrated or decommissioned. A health check gives you a clear picture of where your risks are and what needs to be addressed before those risks become incidents.
Need help with your SQL Servers?
Find out what's really going on inside your SQL Server environment.
Our health checks uncover critical misconfigurations in 97% of reviews.