During recent weeks I have installed Microsoft Lync Server 2010 at various customers. During one of these deployments we have been struggling a lot with the deployment of the reports belonging to the monitoring server.
The reporting services reports are used to get an overview in the Usage of Microsoft Lync Server 2010 and the Quality of Service provided by Microsoft Lync Server 2010. For example reports are available for the amount of conversations that are being held and how this amount is divided over IM and audio/video conversations. Using the reports for the Quality of Services gives you information about the quality of the conversations that are being held from headset to headset and everything in between.
Deploying these reports requires that Microsoft SQL Server Reporting Services is installed. A license for this feature is acquired whenever a SQL Server Database license is purchased. This means that Reporting services can be installed without any additional costs. It is possible to combine reports for various applications on a single instance of SQL Server reporting service, it is also possible to create various instances for the various reports.
The deployment of the reports designed for Microsoft Lync Server 2010 is executed from the Lync 2010 Deployment Wizard. using this wizard a Hyperlink is available from where the reports can be deployed. During the deployment several fields are required to be filled in. All of these fields are properly described in the wizard and it is hard to make any mistakes.
However during the deployment a very specific error can be obtained. As some more error message within Microsoft products are not that clear it is a hell of a job to get the right fix for the error. In some cases you might run into the error, which is stated below.
“Could not get objects from namespace root\Microsoft\SqlServer\ReportServer. The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) Cannot get the ReportServerWebService URL. Verify that Reporting Services is deployed and configured properly on the target SQL instance:"SQL\REPORTING", and that WMI is included on the exception list of firewall setting on the server that is running Reporting Services.Invalid parameter”
A lot of suggestions are made on the internet. These suggestions varies from open your entire Firewall to create a new SQL instance to add permissions on the SQL server on which the databases of the reporting services are installed. A lot of these suggestions are not a resolution (for example: reinstall the SQL reporting services) or doesn’t work (for example: add permissions the SQL server).
The actual resolution of the above mentioned error can be found on the account that is signed into the server. During the installation several tokens are send to the SQL Server Reporting instance that is defined. In normal circumstances this doesn’t matter when the proper permissions are configured. However the combination of Microsoft Lync and Microsoft SQL Server Reporting services are using specific tokens. In order to make sure the proper tokens are send back and forth it is important to log into the server with the SQL Server Reporting Services service account that you configured during the configuration of the SQL Server Reporting instance you have chosen. using this account makes sure that you can deploy the reports without any problem.
When the principle of least privileges is required, it is important to define the proper permissions after the deployment. This means that the proper accounts are added to the proper SQL reporting group. Doing this makes sure that users who only need read access, only gets this permissions.