关键词: Reporting Service部署 Scale-Out 错误代码0x800706BA
首先咱们知道Reporting 服务包含2部分,其分别是提供Reporing Service解析webservice服务的服务器及报表数据库所在数据库服务器。
关于ReportingService服务,微软提供了4种部署模式,其分别是Single, Standard, Scale-Out及Cluster模式
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(Object
sender, RSReportServerInfo[] rsInfos)
解决办法Reporting service configuration Manager:
1. 备份服务器A的密钥 文件
2. 复制到服务器B中
3. 服务器B,还原密钥文件
4. 再在服务器A点击“添加服务器”就能够成功了