【问题标题】:How to Remove a Ghost Server in Web Farm After Migrating a Reporting Services Installation?迁移 Reporting Services 安装后如何删除 Web 场中的 Ghost 服务器?
【发布时间】:2015-09-04 16:19:15
【问题描述】:
只需按照https://msdn.microsoft.com/en-us/library/ms143724.aspx 中的步骤将 Reporting Services 安装迁移到新服务器(从 SQL 2012 标准版到 SQL 2012 标准版)
但是,当我准备好使用 Report Manager Web 界面验证我的部署时,我收到了错误:
此版本的 Reporting Services 不支持“横向扩展部署”功能。 (rsOperationNotSupported)
确实,当我返回 Reporting Services 配置管理器时,在横向扩展部署下,我有 2 台服务器,一台在本地服务器(新机器)上,并引用了具有不同名称的旧服务器。问题是当我尝试删除它时告诉我任务失败:
Microsoft.ReportingServices.WmiProvider.WMIProviderException:无法连接到报表服务器。 ---> System.Runtime.InteropServices.COMException (0x800706BA): RPC 服务器不可用
我可以理解为什么它不可用,因为它位于不同的网络上。所以我的问题是,我怎样才能摆脱它,让一切最终都能正常工作?
【问题讨论】:
标签:
sql-server
reporting-services
migration
【解决方案1】:
找到了。删除ghost服务器的方法是连接ReportServer数据库,从dbo.Keys表中删除旧服务器。
重新启动 Reporting Services 后,旧服务器不再出现在列表中。
【解决方案2】:
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)
小心,仅使用 select 运行第一部分,分析输出,然后将要删除的特定机器名称值(旧服务器名称)复制到 delete 语句的 where 子句中,替换 YourGhostServer 废话。
请注意,Keys 表可能包含可通过网络访问且在线的合法机器。您可以通过简单地 ping 它们或检查它们是否运行 SSRS 服务来验证这一点,不要只是简单地从表中删除实际在线的服务器,而是使用报表服务器管理器删除在线的服务器。
只有在旧机器确实无法访问或已停用时,才应从 Keys 表中删除。至少,在我的情况下,我会这样做。 :)