I migrated a System Center Virtual Machine Manager (VMM) installation to a new virtual machine today. I used this TechGenix article as a guide.
Most things went quite smoothly, however when I completed the VMM installation, the VMMService.exe didn’t start.
System Event logs displayed: “The System Center Virtual Machine Manager service terminated unexpectedly. It has done this 3 time(s).”
Application Event logs displayed:
Faulting application name: vmmservice.exe, version: 4.1.3223.0, time stamp: 0x5a566055 Faulting module name: KERNELBASE.dll, version: 10.0.17763.292, time stamp: 0xb51bba8e Exception code: 0xe0434352
I found the VMM log located in “C:\ProgramData\VMMLogs\SCVMM<guid>\report.txt“, which had the following error buried in it:
System.Data.SqlClient.SqlException (0x80131904): Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.
This SQL error let me to poking around in SQL Server Management Studio, and to the google, where I found this relevant post on Stackoverflow.
The second answer led me to look at the “Owner” property on the “Files” page of the properties of the VirtualManagerDB database. In my case, it was empty. I suspect somehow this happened while restoring the database backup from the original VM.
I attempted to fill this in with my domain VMM service account, however SQL provided an error that this account was already assigned a role for this database. So instead I ran this statement:
USE VirtualManagerDB GO SP_DROPUSER ‘DOMAIN VMM service account’ GO SP_CHANGEDBOWNER ‘DOMAIN VMM service account’
This updated the Owner property, and allowed me to start the VMM service.