Mike's Blog


Business Intelligence keeps me live and communicating!

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 Files\Microsoft SQL Server\MSSQL.#\Reporting Services\ReportServer 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 Files\Microsoft SQL Server\MSSQL.#\Reporting Services\ReportManager 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: , ,

Comments

catfelix1 said:

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

# February 1, 2007 10:52 AM

Mike Glaser said:

Felix,

Did you try to connect to one of your Report Server instances with the Report Server Configuration tool. If not, do so and make sure all items will return a correct green mark. Furthermore did you check your errors log to really see what's the problem.

http://msdn2.microsoft.com/en-us/library/ms157403.aspx

Mike

# February 1, 2007 12:01 PM

catfelix1 said:

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

# February 2, 2007 7:15 AM

catfelix1 said:

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:   <UrlRoot>http://<servername>/reportserver</UrlRoot>

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

6-     Modified the RSWebApplication.config file

            old value: <ReportServerUrl></ReportServerUrl>

            <ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

new value:             <ReportServerUrl>http://<IPaddress>/reportserver</ReportServerUrl>

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

# February 2, 2007 11:56 AM

Mike Glaser said:

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

# February 3, 2007 6:16 AM

kochiz said:

Step 6 must be changed, and looks like this:

6-     Modified the RSWebApplication.config file

           old value: <ReportServerUrl></ReportServerUrl>

           <ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

new value:             <ReportServerUrl>http://<IPaddress>/reportserver</ReportServerUrl>

<ReportServerVirtualDirectory></ReportServerVirtualDirectory>

# February 16, 2007 5:27 AM

catfelix1 said:

Hi! kochiz,

For step 6, i tried:

1)             <ReportServerUrl>http://<IPaddress>/reportserver</ReportServerUrl>

<ReportServerVirtualDirectory></ReportServerVirtualDirectory>

2)

<ReportServerUrl>http://<IPaddress>/reportserver</ReportServerUrl>

still does not work. any idea ?

# March 13, 2007 11:26 AM

Sanchet Dighe said:

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?
# May 31, 2007 12:07 AM

CuriousUser said:

Once installing the second instance, do i need to re-apply service pack 2 for SQL?
# June 20, 2007 4:32 PM

xpherion said:

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.

# October 1, 2007 10:39 PM

Kunal Gandre said:

Lets say that ur default instance is Servername and the named one is servername\Inst1

Connect using this to the Management studio :-

servername,PortNumber        

servername\Inst1,PortNumber

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

# February 14, 2008 10:29 PM

DC said:

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 Settings\erommel\My Documents\Visual Studio 2008\Projects\WebReportSecurityExtension\FormsAuthentication\ReportingService2005.cs:line 3516

  at Microsoft.Samples.ReportingServices.CustomSecurity.UILogon.BtnLogon_Click(Object sender, EventArgs e) in C:\Documents and Settings\erommel\My Documents\Visual Studio 2008\Projects\WebReportSecurityExtension\FormsAuthentication\UILogon.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?

# May 12, 2009 7:15 PM

Jason said:

Hey Mike - does this still apply to SQL 2008 also or have things changed for the easier?

# June 8, 2009 11:24 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Please add 7 and 8 and type the answer here: