This post is a guide and reminder for myself on how to move or re-locate a Microsoft System Center Virtual Machine Manager 2012 database to another SQL Server. I recently needed to do this procedure and found that because the product didn’t offer a direct option to change the database settings or an option to migrate the database from within the console, I had to look for other means to achieve the process.
Turns out there is two methods that will work, we can say that both would be considered “un-supported” by Microsoft but I can confirm that they work.
- Make a full backup of the existing SCVMM Database.
- Uninstall SCVMM 2012 and choose the Retain Database option during the uninstall wizard.
- Detach/Remove the SCVMM Database from the current SQL instance that your moving away from.
- Copy the SCVMM Database Backup file from step 1 across to the new SQL Server.
- On the new SQL Server, proceed to restore the Database from Backup.
- Create a new SQL Login under the Security/Logins area at the server level, make sure the Username matches your SCVMM Service Account that you use to run SCVMM related services. Before closing the New User window, navigate to User Mappings and make sure to map this new user account to the SCVMM Database that has just been restored, and select the local database user called “VMMServer” which should have remained from the original database on the old server.
- Now that the database is live on the new SQL Server, re-install SCVMM 2012 and when prompted, point it at the new SQL Server, selecting to use an existing database (the one you Restored from Backup). Make sure when selecting a Service Account to run the SCVMM Services as; that it’s the account we mapped above in step 6. During setup the wizard will try to re-configure the security on the database, although I like to make sure things are right before assuming the wizard will configure everything correctly.
Essentially method 2 follows the same steps as method 1; although instead of uninstalling SCVMM 2012 completely just to effectively modify a database string – you may not have time to kill waiting for an installer to complete. Your option is to perform a registry edit.
- Follow the steps above to perform the backup and restore – including creating the Security Login on the new SQL Server.
- Make sure that both the SCVMM Service and Agent Services are stopped before modifying the registry.
- Open RegEdit on the SCVMM 2012 server and navigate too: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql
- Under the SQL key, change all references to the old SQL Server, this includes the following sub-keys;
- Start the SCVMM services again once all registry editing is complete. If all goes well the services should start successfully and your SCVMM console will now be pointing to the new SQL Server. The most common issue that will arise with following Method 2 is that the Service Account isn’t granted permission to the newly restored database. The difference being that on Method 1 the installer updates the security on the database even if you forget too, where as Method 2 solely relies on your actions to perform this step.
Please only perform both these methods after understanding what you’re doing, I take no responsibility for corrupt or damaged installations of SCVMM 2012 after following this guide.
Credit to the following blog post for helping me expand on both these methods: http://systemscentre.blogspot.com.au/2011/12/how-to-move-scvmm-2012-database-to.html