For my first official technical blog, I'm going to do a 2-part article. There is a lot to cover for the entire setup and configuration and some of you may already have the SharePoint farm trust implemented. If so, you can skip right to Part 2. :)

As you probably know, SharePoint integration for Reporting Services has been re-architected in SQL Server 2012 in order to improve the administrator and end user experience. Reporting Services now lives in SharePoint 2010 as a shared service. With the shared service architecture automatically comes some new benefits for Reporting Services in SharePoint integration mode. You can read about all of the benefits in the What's New (Reporting Services) MDSN article.

Recently, there has been some interest in one of the new benefits of having Reporting Services 2012 running as a shared service application. The benefit in this case is SharePoint cross-farm support for viewing reports. With this interest has also come some confusion, or rather lack of knowledge, as to what functionality exists in the cross-farm scenario. Unfortunately, there is not a whole lot of documentation out there on this subject so my hope with this blog post is to provide a good resource to customers on how to setup the cross-farm environment for the Reporting Services service application and to note some of its limitations.

A cross-farm implementation consists of a Publishing farm (host of the service application) and a Consuming farm (remote farm consuming the service application). When deploying cross-farm services there are some requirements:

  1. Configure trusted farms - Ensure that farms have exchanged certificates to trust one another. Export the certificate to a file and back up the file before you connect to cross-farm services.
  2. Publish the service applications - To share a service application across farms, you first publish the service.
  3. Connect to cross-farm service applications - To consume a service that is published by a remote farm, create a connection to the service. This process prompts you to enter the URL of a published service, which is displayed during the publish process. A connection on the local farm is created to connect to the service application on the remote farm.

Note: If the server farms are located in two domains, the Reporting Services service application requires both domains to trust each other.

Setting up the trust between farms

So, let's get started! First we need to establish trust between the two farms by creating and exchanging SharePoint trust certificates within each farm.

On the Consuming Farm, open the SharePoint 2010 Management Shell and run the following commands in order (the highlighted path and file name is configurable).

  1. $rootCert = (Get-SPCertificateAuthority).RootCertificate
  2. $rootCert.Export("Cert") | Set-Content C:\Temp\ConsumingFarmRoot.cer -Encoding byte
  3. $stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
  4. $stsCert.Export("Cert") | Set-Content C:\Temp\ConsumingFarmSTS.cer -Encoding byte

On the Publishing Farm, open the SharePoint 2010 Management Shell and run the following commands in order (the highlighted path and file name is configurable).

  1. $rootCert = (Get-SPCertificateAuthority).RootCertificate
  2. $rootCert.Export("Cert") | Set-Content C:\Temp\PublishingFarmRoot.cer -Encoding byte

Copy the Consuming certificates to Publishing farm Central Admin server and copy the Publishing certificate to Consuming farm Central Admin server.

Within Central Administration on the PUBLISHING farm, establish the trust relationship by going to Security - General Security - Manage trust and clicking on the New menu.

Configure the trust relationship to the Consuming farm with a name, the Consuming farm's root certificate and the Consuming farm's security token service (STS) certificate.

After saving, it will show up in the Trust Relationships list of the Publishing farm.

Within Central Administration on the CONSUMING farm, establish the trust relationship by going to Security - General Security - Manage trust and clicking on the New menu.

Configure the trust relationship to the Publishing farm with a name and the Publishing farm's root certificate. The STS certificate is not needed as the Consuming farm is not providing trust to the Publishing farm.

After saving, it will show up in the Trust Relationships list of the Consuming farm.

In Part 2 of this article, we will discuss what is needed on the Publishing Farm in order to publish the Reporting Services service application, what is needed on the Consuming Farm in order to connect to the published service application and how to setup a Report Viewer web part on the Consuming Farm to view a published report.

Josh Gerszewski | Microsoft SQL Server
http://twitter.com/joshger