The stand-alone Virtual Machine Recovery Tool works with System Center 2012 – Virtual Machine Manager (VMM) to temporarily remove a host, cluster, virtual machine, or service from VMM when that object is in a failed or persistent warning state due to environmental conditions, third-party applications, or other causes. After resetting the state of the object, once VMM refreshes, the object will appear as healthy in VMM.
This tool does not repair a damaged or incorrectly created virtual machine or corrupt .vhd file. It deals state information stored in the VMM database.
You can get the Virtual Machine Recovery Tool from the Download Center. You need .NET Framework 4.0 to run this program.
Install the Virtual Machine Recovery Tool by running VMMStateRecoveryTool.msi. Review and accept the terms of the License Agreement.
VMMStateRecoveryTool.msi
Double click the Virtual Machine Recovery Tool icon. The Connect Dialog opens.
Enter the name for the VMM SQL Server computer.
Select Windows Authentication or SQL Server Authentication and, if necessary, enter User name and Password. Click Connect.
The credentials must have permissions for the SQL Server system. The Virtual Machine Recovery Tool connects directly to the SQL Server computer. It does not connect through VMM.
Select the VMM database, and then click OK.
Select the Clusters tab, the Hosts tab, the VMs tab, or the Services tab. The tool lists the appropriate objects in each tab.
Select the object, and then click Recover.
The tool displays the progress of the recovery.
Ordinarily, virtual machine hosts refresh information in VMM within two minutes. After the host refreshes information in VMM, the recovery process is completed.
If a host is unable to refresh in VMM, due to host problems or networking problems, within 10 minutes, the Manual Recovery dialog box opens. Manual Recovery specifies the virtual machine to be recovered and provides a list of virtual machines from VMM.
After the host refreshes virtual machine information, the virtual machine appears in the VMM Managed VMs list. Select that virtual machine and click Recover. The Virtual Machine Recovery Tool finishes the recovery process.
Maheshkumar S Tiwari edited Revision 3. Comment: Added See Also and Tags
Is this Compatible with VMM 2012 SP1? It crashed when I tried to use it.
After using in VMM 2012 SP1, I cannot start system center virtual machine manager servcie anymore.
Application: vmmservice.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
Stack:
at Microsoft.VirtualManager.Engine.WorkloadCreation.COMPort..ctor(Microsoft.VirtualManager.Engine.WorkloadCreation.ICOMPortContainerInternal, Byte)
at Microsoft.VirtualManager.Engine.ImageLibrary.VMBase.ReadChildren(Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.VM.ReadChildren(Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.VM..ctor(Microsoft.VirtualManager.Remoting.VMData, Microsoft.VirtualManager.Utils.CarmineObjectLock, Boolean, Boolean, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.LibraryUtils.CreateLibObject(Microsoft.VirtualManager.Remoting.LibObjectData, Microsoft.VirtualManager.Utils.CarmineObjectLock, Boolean, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.LibraryUtils.GetLibObject(System.Guid, Microsoft.VirtualManager.Utils.CarmineObjectType, System.Guid, Microsoft.VirtualManager.Utils.CarmineObjectLockType, Boolean, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.VM.Get(System.Guid, System.Guid, Microsoft.VirtualManager.Utils.CarmineObjectLockType, Boolean, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.ComputerTier.ReadChildren()
at Microsoft.VirtualManager.Engine.ImageLibrary.ComputerTier..ctor(Microsoft.VirtualManager.Remoting.ComputerTierData, Microsoft.VirtualManager.Utils.CarmineObjectLock, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.ComputerTier.Get(System.Guid, System.Guid, Microsoft.VirtualManager.Utils.CarmineObjectLockType)
at Microsoft.VirtualManager.Engine.ImageLibrary.ServiceInstance.ReadChildren()
at Microsoft.VirtualManager.Engine.ImageLibrary.ServiceInstance..ctor(Microsoft.VirtualManager.Remoting.ServiceInstanceData, Microsoft.VirtualManager.Utils.CarmineObjectLock, Boolean)
at Microsoft.VirtualManager.Engine.ImageLibrary.ServiceInstance.Get(System.Guid, System.Guid, Microsoft.VirtualManager.Utils.CarmineObjectLockType)
at Microsoft.VirtualManager.Engine.ImageLibrary.ServiceInstance+<>c__DisplayClass6.<GetAll>b__4(Microsoft.VirtualManager.Remoting.ServiceInstanceData)
at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ConvertAll[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Converter`2<System.__Canon,System.__Canon>)
at Microsoft.VirtualManager.Engine.ImageLibrary.ServiceInstance.GetAll(Microsoft.VirtualManager.Utils.CarmineObjectLockType, System.Guid)
at Microsoft.VirtualManager.Engine.VirtualManagerService.StartRefreshers()
at Microsoft.VirtualManager.Engine.VirtualManagerService.ExecuteRealEngineStartup()
at Microsoft.VirtualManager.Engine.VirtualManagerService.TryStart(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()