SQL Server, Power BI, and other Business Intelligence and data technologies

Category: SSRS

Troubleshooting Error 404, Error 400, or “Invalid Request” or “Bad Connection” in a New SSRS Installation

After installing SQL Server Reporting Services (SSRS), are you receiving an Error 404, Error 400, “Invalid Request” error, or “Bad Connection” error on first visiting the SSRS web portal (the error message seems to vary based on version, browser, and whether accessing via http/https or /reports vs /reportserver) ?

I’ve run into this a few times so I’m listing the steps I’ve used to fix it.  For me, the root cause of this error has been the SSRS Configuration Wizard automatically configuring SSRS to use HTTPS, but assigning an invalid machine SSL Certificate.  The fix is to self-generate a new and valid SSL certificate for the SSRS website to use.  The below steps are done on the machine running the SSRS web portal:

Continue reading

My New Favorite Chart — Overlapping Bar Charts

My New Favorite Chart — Overlapping Bar Charts

Back in April, I had the pleasure of attending Jason Thomas’s (B | T) Advanced Charting Techniques in SSRS at SQL Saturday #220 in Alpharetta, GA.

During this session, I was introduced to my new favorite SSRS visualization — the Overlapping Bar Chart.

The overlapping bar chart is really just a standard bar chart with a range chart in the background.  The range chart in the background represents the sum of the bars in the foreground.  This allows you to see very quickly the total amount for a category as well as a quick breakdown of the parts that make up that total.

To create an overlapping bar chart, you will first need some data.  The data should have a category (such as dates or products) and then a couple of quantity columns and finally a total column which sums the quantity column.

Continue reading

SSRS Usage Reporting — with SSRS!

SSRS Usage Reporting — with SSRS!

A task I’ve recently needed to perform was to migrate our company SSRS portal from a SQL Server 2008 R2 Native Mode portal to a shiny new SQL Server 2012 Sharepoint Integrated Mode portal.

Additionally, during this process, I had a desire to clean up the organization of the reports and potentially retire some of the older reports which were no longer used.  The issue that I immediately encountered, however, was a lack of readily accessible information about which reports were frequently (or infrequently) used, by whom, and how often.

With a little bit of research on the topic, I found that SSRS does indeed track report usage metrics within the ReportServer database, however, there aren’t any built-in mechanisms to easily review that data.

My research first took me to a Microsoft Technet posting with the following T-SQL to collect some basic usage statistics from the ReportServer database:


SELECT 
Cat.[Path], 
Cat.Name, 
Ex.[Format], 
Ex.Parameters, 
Ex.UserName, 
Ex.TimeStart, 
CONVERT(nvarchar(10), 
Ex.TimeStart, 101) AS rundate,  
1 AS [Counter] 
FROM ExecutionLog AS Ex INNER JOIN [Catalog] AS Cat ON (Ex.ReportID = Cat.ItemID)
ORDER BY Ex.TimeStart DESC


This was a great indicator of the possibilities for reporting on SSRS usage.  A little further research turned me onto the following Wrox article by Jim Minatel with some additional sample queries and some great ideas for what I’d like to include in the SSRS Usage Report I was creating.

Within the ReportServer database (both for SSRS Native Mode and SSRS SharePoint Integrated Mode), the most interesting tables when it comes to SSRS usage statistics are:

  • ExecutionLog – The most useful table, this is a log of all SSRS component executions as well as the status of the execution.
  • Catalog – Equally useful, this is a full listing of all SSRS assets (report RDL files, data sources, datasets, and even Power View reports) which are needed to identify in a friendly manner the names of the items in the ExecutionLog.
  • Users – A listing of all users with their unique IDs and authentication types.  This table proved to be the least useful, as usernames are stored in a readable form in the above tables.
Performing T-SQL queries to join at least two of these tables allowed for me to create a base detail query which would provide the foundation for data shown in my SSRS Usage Report:

Continue reading

© 2026 Jeff Pries

Theme by Anders NorenUp ↑