关键词: Reporting Service部署 Scale-Out 错误代码0x800706BA

首先我们知道Reporting 服务包含2部分,其分别是提供Reporing Service解析webservice服务的服务器及报表数据库所在数据库服务器。

关于ReportingService服务,微软提供了4种部署模式,其分别是Single, Standard, Scale-OutCluster模式

Single模式:reporting web服务与数据库服务在同一台服务器上

Standard模式: Reporting web服务为一台服务器,数据库服务在另外一台服务器上

Scale-Out  扩展模式: 2台不同的Reporting web服务器,调用同一台数据库服务器

NLB Cluster 模式: 针对数据库服务器的负载均衡

这里着重介绍一下Scale-Out模式,图形如下

 

Scale-Out 模式适用情景:

公司需要有一台性能不错的数据库服务器,目前需要给3个部门搭建不同的Reporting service服务, 我们不可能给每个部门单独购买数据库服务器;变通一下,只需要买3台配置一般的服务器,用作reporting service 提供,这三个reporting service服务器访问公用的一台数据库服务器,以节省费用。

这里就需要用到Scale-out 架构,关于如何配置Scale-out模式,建议参照微软的官方文档

http://msdn.microsoft.com/zh-cn/library/ms159114.aspx

 

这里,需要补充一点官方文档遗漏的问题: 按照文档进行配置,最后点“添加服务”的时候,会报错,错误内容大体如下:

·         ReportServicesConfigUI.WMIProvider.WMIProviderException                                 An unexpected
error has occurred. Details:

The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) ---

> System.Runtime.InteropServices.COMException (0x800706BA): The RPC

server is unavailable. (Exception from HRESULT: 0x800706BA)
   at
System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32
errorCode, IntPtr errorInfo)
   at System.Management.ManagementScope.InitializeGuts(Object o)
   at System.Management.ManagementScope.Initialize()
   at System.Management.ManagementScope.Connect()
   at
ReportServicesConfigUI.WMIProvider.RSInstances.GetInstances(String
machineName)
   --- End of inner exception stack trace ---
   at
ReportServicesConfigUI.WMIProvider.RSInstances.GetInstances(String
machineName)
   at
ReportServicesConfigUI.WMIProvider.RSInstances.GetInstance(String
machineName, String instanceName)
   at
ReportServicesConfigUI.Panels.ClusterManagementPanel.ConfigureWebFarm(Objec­t
sender, RSReportServerInfo[] rsInfos)

解决办法Reporting service configuration Manager

1.       备份服务器A的密钥 文件

2.       复制到服务器B

3.       服务器B,还原密钥文件

4.       再在服务器A点击“添加服务”就可以成功了