How to remove a VMHost from SCVMM 2008 R2 forcefully

这几天碰到个问题,有个服务器原来安装的是 2008 Server Core系统,上面跑 Hyper-V,已经将其导入 SCVMM 2008 R2 来管理。最近实在是嫌 Server Core 管理太不方便,于是想把系统换成带图形界面的,也没在 SCVMM 里面把主机删除,直接就重装了,IP和计算机名什么的都没变,结果问题来了,再打开 SCVMM 的控制台,发现这台主机联系不上(当然,因为重装的没有了 Agent),就想删掉再重加,结果删除过程报错:

Error (801)

VMM cannot find ISO object .

Recommended Action

Ensure the library object is valid, and then try the operation again.

移除任务的进度一直停留在99% 而主机就是保持在 Pending 状态,结果就是旧的删不掉,新的加不了。后来试过用 PowerShell 来删:
Get-VMHost -Computername Hostname | Remove-VMHost -Force
一样的提示。
一番研究和搜索之后,终于发现直接操作 SCVMM 的数据库可以搞定此问题。

步骤:
      1. 停止 VMMService 服务;
      2. 用 SQL Management Studio 连接到 SCVMM 的数据库 (默认应该是 SQL Express 的实例: MICROSOFT$VMM$,数据库名称是 VirtualManagerDB),保险起见,先备份;
     3. 查询 tbl_ADHC_Host, 可以看到原来这台旧的 Hyper-V 主机的记录,记下其对应的 HostID, 比如 '68899616-fdc8-4f85-a702-979a4251f766';
     4. 打开查询窗口,执行以下 SQL 语句:
     DELETE FROM tbl_ADHC_HostNetworkAdapter WHERE (HostID='68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_ADHC_VirtualNetwork WHERE (HostID = '68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_ADHC_HostVolume WHERE (HostID = '68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_ADHC_HostDisk WHERE (HostID = '68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_WLC_PhysicalObject WHERE (HostId = '68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_WLC_VObject WHERE (HostId = '68899616-fdc8-4f85-a702-979a4251f766')
     DELETE FROM tbl_ADHC_Host WHERE (HostID = '68899616-fdc8-4f85-a702-979a4251f766')
     5. 再查看表 tbl_ADHC_AgentServerRelation 和 tbl_ADHC_AgentServer,如果有对应的主机记录也相应删除
     6. 如果是 Hyper-V 群集的话,每个节点都要跑一次上面的删除语句,还得删除 Cluster 的记录
     DELETE FROM tbl_ADHC_ClusterDisk WHERE (ClusterID = '1149953c-cde3-45d2-82ee-b79a259d6a79')
     DELETE FROM tbl_ADHC_HostCluster WHERE (ClusterID = '1149953c-cde3-45d2-82ee-b79a259d6a79')

PS. 用下面这条命令可以重置 Failed Job 状态
UPDATE tbl_TR_TaskTrail SET IsVisible = 0 WHERE TaskState = 'Failed'

Leave a comment

Recent Entries

  • Lync Server 2010 发布架构报错

    昨天想试试在现有的 OCS 2007 R2 的基础上部署 Lync Server 2010 试试看,装好 Topology Builder 之后,新建了一个拓扑,然后把该填的都填了,发布的时候老是报SQL错,很是郁闷,后来终于在log中找到了错误原因:  Script result: ERROR_VALIDATE_BAD_SQL_VERSION Error: Script failed (code "ERROR_VALIDATE_BAD_SQL_VERSION") when installing "CentralMgmtStore" on "LyncServer01.mail2any.local"....

  • 使用 URL Rewrite 重定向 Http 请求至 Https

    公司部署了个新的 IIS 站点,需要强制在 Https 下面访问,但是又不希望关掉80端口的 Http 请求,这样对用户体验来讲不好,最好是能强制所有的 Http 请求都会被重定向到 Https 上面去,显然, IIS 自带的 "HTTP Redirect" 已经不能满足这个需求,我们这里使用 IIS 7.0 下面的重定向扩展 URL Rewrite Module 来做。1. http://www.iis.net/download/URLRewrite 到这里下载,有分...

  • How to remember your OC and Outlook password

    How to make your computer remember your Microsoft Communicator 2007 R2 and Outlook 2007 password (如何让你的电脑在非域环境中记住 OC 2007 R2 和 Outlook 的密码)我们知道,在域的环境中,使用 OC 和 Outlook...

  • 微软 CRM 2011 Beta 快速安装图解

    微软在9月17日在网站上放出了 CRM 2011 (也就是CRM5.0)的 beta 版本,我就先来个简单的快读安装图解,一睹为快,下个月会写点新版 CRM 的使用感受。 下载: Microsoft Dynamics CRM 2011 Beta Microsoft Dynamics CRM 2011 Software Development Kit (SDK)Microsoft Dynamics CRM 2011...

  • 升级到 Exchange 2010 SP1 后出现的2个小问题

    今天有空把所有的 Exchange 服务器从 2010 RTM 升级到了 2010 SP1 了, 升级完了后发现了2个小问题: OWA打开正常,但是点到 ECP 的时候报 403 访问拒绝错误 某台 Exchange 打开 EMS 时报错如下: [server.mydomain.local] Connecting to remote server failed...

Close