迁移 Reporting Services 安装后如何删除网络场中的 Ghost 服务器?
How to Remove a Ghost Server in Web Farm After Migrating a Reporting Services Installation?
刚刚按照 https://msdn.microsoft.com/en-us/library/ms143724.aspx 中的步骤将 Reporting Services 安装迁移到新服务器(从和到 SQL 2012 标准版)
但是当我准备好使用 Report Manager Web 界面验证我的部署时,我收到错误:
The feature: "Scale-out deployment" is not supported in this edition of Reporting Services. (rsOperationNotSupported)
确实,当我返回 Reporting Services 配置管理器时,在横向扩展部署下我有 2 台服务器,一台位于本地服务器(新机器)上,另一台引用了具有不同名称的旧服务器。问题是当我尝试删除时它告诉我任务失败:
Microsoft.ReportingServices.WmiProvider.WMIProviderException: Unable to connect to the Report Server . ---> System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable
我能理解为什么它不可用,因为它们都在不同的网络上。所以我的问题是,我怎样才能摆脱它,以便最终一切正常?
找到了。移除ghost服务器的方法是连接ReportServer
数据库,移除dbo.Keys
table中的旧服务器。
重新启动 Reporting Services 后,旧服务器不再在列表中。
USE ReportServer
go
select * from keys
--for safety added to the delete ghost machine if no recent executions in last 30 days.
delete from keys
where MachineName = 'YourGhostServer' --replace with your old server name, if multiple run one by one.
and MachineName not in (select substring(InstanceName,0,(charindex('\',InstanceName,0)))
from ExecutionLog
where timestart>getdate()-30
group by InstanceName)
CAREFUL,运行 第一部分仅包含 select,分析输出,然后将要删除的特定机器名称值(旧服务器名称)复制到删除的 where 子句中声明,替换 YourGhostServer 废话。
请注意,密钥 table 可能拥有网络可达且在线的合法机器。您可以通过简单地 ping 它们或检查它们是否 运行 SSRS 服务来验证这一点,不要只是简单地从 table 中删除实际在线的服务器,而是使用报表服务器管理器删除服务器那是在线的。
只有在旧机器确实无法访问或已停用时,才应从密钥中删除 table。至少,这就是我在我的情况下会做的。 :)
刚刚按照 https://msdn.microsoft.com/en-us/library/ms143724.aspx 中的步骤将 Reporting Services 安装迁移到新服务器(从和到 SQL 2012 标准版) 但是当我准备好使用 Report Manager Web 界面验证我的部署时,我收到错误:
The feature: "Scale-out deployment" is not supported in this edition of Reporting Services. (rsOperationNotSupported)
确实,当我返回 Reporting Services 配置管理器时,在横向扩展部署下我有 2 台服务器,一台位于本地服务器(新机器)上,另一台引用了具有不同名称的旧服务器。问题是当我尝试删除时它告诉我任务失败:
Microsoft.ReportingServices.WmiProvider.WMIProviderException: Unable to connect to the Report Server . ---> System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable
我能理解为什么它不可用,因为它们都在不同的网络上。所以我的问题是,我怎样才能摆脱它,以便最终一切正常?
找到了。移除ghost服务器的方法是连接ReportServer
数据库,移除dbo.Keys
table中的旧服务器。
重新启动 Reporting Services 后,旧服务器不再在列表中。
USE ReportServer
go
select * from keys
--for safety added to the delete ghost machine if no recent executions in last 30 days.
delete from keys
where MachineName = 'YourGhostServer' --replace with your old server name, if multiple run one by one.
and MachineName not in (select substring(InstanceName,0,(charindex('\',InstanceName,0)))
from ExecutionLog
where timestart>getdate()-30
group by InstanceName)
CAREFUL,运行 第一部分仅包含 select,分析输出,然后将要删除的特定机器名称值(旧服务器名称)复制到删除的 where 子句中声明,替换 YourGhostServer 废话。
请注意,密钥 table 可能拥有网络可达且在线的合法机器。您可以通过简单地 ping 它们或检查它们是否 运行 SSRS 服务来验证这一点,不要只是简单地从 table 中删除实际在线的服务器,而是使用报表服务器管理器删除服务器那是在线的。
只有在旧机器确实无法访问或已停用时,才应从密钥中删除 table。至少,这就是我在我的情况下会做的。 :)