Multiple Reporting Services instances on one machine

Since the release of Reporting Services 2000 back in January of 2004, I've build lots of apps using this technology. On my newest assignment they requested me to implement two Reporting Services instances on the same machine. Their serverpark isn't that big, but they want to simulate a separated test en development environment. I immediately applied that this won't be a problem and since SQL Server 2005 contains Reporting Services Configuration it isn't that hard anymore. To begin this giant adventure you've install two instances of SQL Server 2005 Reporting Services (e.g. Test & Development) and choose the option to not configure Reporting Services. Finished this, you now have to create an additional Web site(s), so the separated Reporting Services instances are used independently.

To simulate two web servers on one machine, you need to install an extra IP address or use the same IP address in combination with a host header value. This time I choose the extra IP address because this satisfied the Helpdesk administrator the most ;-). To add an extra IP address open your Network Card properties, followed by opening the properties of the Internet Protocol (TCP/IP). Select the Advanced button and Add as many IP addresses as you want to have separate instances of Reporting Services.

 
IP Address configuring

When you've added the extra IP address, you can create an additional Web Site to your Web Server. Using the Web Site Creation Wizard, you can select one of the other IP addresses.


Web Site Creation Wizard

The next step is configure your Reporting Services using Reporting Services Configuration. For extra info about configuring check MSDN.


Internet Information Services (IIS) Manager

When everything is configured using this Tool, it still doesn't work the way you like too. The second instance is still connecting to your default instance because the default behavior of a Reporting Services instance is redirecting its requests to the localhost. To change this behavior you have to change some settings in the config files (RSReportServer.config, RSWebApplication.config) of Reporting Services.

For example in: C:Program FilesMicrosoft SQL ServerMSSQL.#Reporting ServicesReportServer open

RSReportServer.config

old value:
<UrlRoot>http://<servername>/reportserver</UrlRoot>

new value:
<UrlRoot>http://10.10.10.11/reportserver</UrlRoot>

For example in: C:Program FilesMicrosoft SQL ServerMSSQL.#Reporting ServicesReportManager open

RSWebApplication.config

old value:
<ReportServerUrl></ReportServerUrl>
<ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

new value:
<ReportServerUrl>http://10.10.10.11/reportserver</ReportServerUrl>
<ReportServerVirtualDirectory></ReportServerVirtualDirectory>

Note: It's very important that only one of the two values is filled, else an error will occur.

Run iisreset /noforce and you're now using multiple instance of Reporting Services on the same machine.

Check the following URL's:

Summary
The SQL Team did a great job for letting you choose how many instances you want to use on one machine. They're fully configurable and administrable and you're able to create a real test and development environment on one machine. Great job guys.

 

Technorati tags: , ,

13 thoughts on “Multiple Reporting Services instances on one machine

  1. catfelix1

    Hi Mike i tried following the recommended steps and i get the following error message "
    The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version. " when accessing the report manager site. and i get the following error message "The report server has encountered a configuration error. See the report server log files for more information. (rsServerConfigurationError)
    For more information about this error navigate to the report server on the local server machine, or enable remote errors " when accessing the reportserver.

    username :catfelix1
    email : catfelix693@gmail.com

    Reply
  2. catfelix1

    Mike,

    Thanks for your fast response, very well appreciated. I spent hours and hours to make reporting services work as i'm new at it. will look at the log files. thanks again.

    Felix

    Reply
  3. catfelix1

    Hi Mike,

    I installed sqlserver 2005 and one instance of reporting services. it is working fine.
    so i went ahead and installed a second instance of reporting services on the same machine.

    The following steps were taken in order to add the second instance of reporting services.

    1- Installed the second instance of reporting services with option to not configure Reporting Services checked. (successful )
    2- Created extra IP address on the server (successful)
    3- Used IIS to create an additional website and selected the IP address (successful), added hostname header.
    4- Configured the Reporting Services using Reporting Services Configuration (created virtual directory for report manager and report server).
    5- Modified the RSReportServer.config file.
    old value: http:///reportserver
    new value: http:///reportserver
    6- Modified the RSWebApplication.config file
    old value:
    ReportServer
    new value: http:///reportserver

    i'm still getting error message "The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version " when accessing report manager.
    I'm also getting error message "The report server has encountered a configuration error. See the report server log files for more information. (rsServerConfigurationError)
    For more information about this error navigate to the report server on the local server machine, or enable remote errors" when accessing reportserver.

    I checked and got this in the ReportServerWebApp log file, "aspnet_wp!ui!1!2/2/2007-10:41:37:: e ERROR: The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version.
    aspnet_wp!ui!1!2/2/2007-10:41:38:: e ERROR: HTTP status code --> 500
    -------Details--------
    Microsoft.SqlServer.ReportingServices2005.RSConnection+MissingEndpointException: The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version. ---> System.Net.WebException: The request failed with HTTP status 404: Object Not Found.

    at Microsoft.SqlServer.ReportingServices2005.RSConnection.GetSecureMethods()

    at Microsoft.ReportingServices.UI.Global.RSWebServiceWrapper.GetSecureMethods()

    at Microsoft.SqlServer.ReportingServices2005.RSConnection.IsSecureMethod(String methodname)

    at Microsoft.SqlServer.ReportingServices2005.RSConnection.ValidateConnection()

    --- End of inner exception stack trace ---

    at Microsoft.SqlServer.ReportingServices2005.RSConnection.MissingEndpointException.ThrowIfEndpointMissing(WebException e)

    at Microsoft.SqlServer.ReportingServices2005.RSConnection.ValidateConnection()"

    any help will be appreciated

    Felix

    Reply
  4. Felix,

    At the moment I don't have the time to really investigate your problem, maybe later this week. I do see an interesting part. You are using a host header value in your IIS configuration. To do so I advise you to look at one of my other blogs "Hosting Reporting Services on a fully qualified domain name (FQDN)" at http://bloggingabout.net/blogs/mglaser/archive/2007/01/26/hosting-reporting-services-on-a-fully-qualified-domain-name-fqdn.aspx. It's probably best to change both configs for ReportServer to use the host header name instead of you IP Address. Good luck and keep in touch,

    Mike

    Reply
  5. Sanchet Dighe

    I am not clear about the benefit of doing so. From the original BLOG post, it appears that it was only meant as a test/development environment. Do multiple instances get installed on production machines as well?

    After installing multiple reporting services instances on the same machine, won't there be a performance hit?

    Are there any means to avoid or minimize those?

    Reply
  6. I installed seceond instance of ssrs on the same machine(as a named instance). Everything is working fine. But I cannot access 2nd instance via Microsoft SQL Server Management Studio. I can goto the website and see both instance.

    Reply
  7. Lets say that ur default instance is Servername and the named one is servernameInst1

    Connect using this to the Management studio :-
    servername,PortNumber
    servernameInst1,PortNumber

    P.S:- U can use Windows or SQL Logins to do this.

    Reply
  8. DC

    I'm getting errors when trying to use ReportingService2005.LogonUser()

    System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    at Microsoft.SqlServer.ReportingServices2005.ReportingService2005.LogonUser(String userName, String password, String authority) in C:Documents and SettingserommelMy DocumentsVisual Studio 2008ProjectsWebReportSecurityExtensionFormsAuthenticationReportingService2005.cs:line 3516
    at Microsoft.Samples.ReportingServices.CustomSecurity.UILogon.BtnLogon_Click(Object sender, EventArgs e) in C:Documents and SettingserommelMy DocumentsVisual Studio 2008ProjectsWebReportSecurityExtensionFormsAuthenticationUILogon.aspx.cs:line 157

    I did not create an extra IP, however I created separate virtual directories. I didn't touch the configuration files. I have two instances now.

    1. MSSQLSERVER
    2. SNT_SE (the one i just installed)

    I can go the report manager on SNT_SE, but not the original one.

    Any ideas?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *