2017-05-08

Installing Multiple Instances of SSRS

Dave Mason SQL Server SSRS

Have you ever needed to install multiple instances of SSRS, with each instance "connected" to the same instance of the SQL Server database engine? (By "connected", I mean that the pair of [ReportServer] databases for each SSRS instance would all reside on the same instance of SQL Server. And each SSRS instance would be reporting on data from one or more databases that also resided on the same instance of SQL Server.)

To my surprise, I don't see much guidance for this scenario on the internet. TechNet has an article. It's consistently one of the first search results I get back for variations of "Install multiple instances of SSRS". That article (and a few others) omit a simple installation step/requirement that was a blind spot for me. (More on that towards the end.) I finally figured out what I was doing wrong and eventually succeeded with my task. Let's walk through the steps.


Default SSRS Instance

If you want to install a default instance of SSRS, you can do it at the same time you install the database engine. Or you can install it afterwards. Below are a few screen shots for installing a default SSRS instance on SQL Server 2017 CTP 2.0. (Here, the database engine was already installed.) This should look very similar on recent releases.

Dave Mason SQL Server-Install Default SSRS Instance 01 Dave Mason SQL Server-Install Default SSRS Instance 02 Dave Mason SQL Server-Install Default SSRS Instance 03

Afterwards, I run Reporting Services Configuration Manager and configure my new default instance of SSRS. I won't go into any details regarding that tool, or the steps involved (it's outside the scope of this post). But I will note that I created a Report Server database with the default name [ReportServer]. I see the new Report Server service in the Services Management Console. It has the same instance name (in parentheses) as the SQL Server instance it is "connected" to. In SSMS, we also see the [ReportServer] and [ReportServerTemp] databases.

Dave Mason SQL Server-Install Default SSRS Instance 05 Dave Mason SQL Server-Install Default SSRS Instance 04


Named SSRS Instance

It turns out that I'll be using the default instance of SSRS for reporting on the [WideWorldImporters] database. But I also want to run reports on [ArchibaldImporters] with a separate SSRS instance. And here's where my blind spot came into play. I wanted to install a new instance of SSRS that was "connected" to an existing instance of the database engine. So it made sense to "Add features to an existing instance of SQL Server". But this is not the case. To install an SSRS instance with a different instance name than the database engine instance name, you have to "Perform a new installation of SQL Server". This little fact eluded me for quite a while. And I don't see any mention of it in TechNet. I don't know, maybe it's just common sense to the rest of the world. But it wasn't for me.

Now some screen shots for installing a named SSRS instance on SQL Server 2017 CTP 2.0. Again, this should look very similar on recent releases.

Dave Mason SQL Server-Install Named SSRS Instance 01 Dave Mason SQL Server-Install Named SSRS Instance 02 Dave Mason SQL Server-Install Named SSRS Instance 03

Afterwards, I run Reporting Services Configuration Manager and configure my new named instance of SSRS. This time I created a Report Server database with the name [ReportServerArchibald]. I see the new Report Server service in the Services Management Console. It has the instance name "Archibald" (in parentheses), which is different than the name of the SQL Server instance it is "connected" to ("SQL2017"). In SSMS, we also see the [ReportServerArchibald] and [ReportServerArchibaldTemp] databases along with the SSRS databases for the default SSRS instance.

Dave Mason SQL Server-Install Named SSRS Instance 04 Dave Mason SQL Server-Install Named SSRS Instance 05

I can re-run similar steps to create named SSRS instances for "McHale" and "Parish". So there you have it. Multiple SSRS instances, one database engine instance. It's really not that hard when you're not burdened with false assumptions. Happy Reporting, everyone.


SHARE