Recently I came across the situation where I wanted to migrate the Managed Metadata Service database from one farm to another. Many differing solutions were mentioned on the interweb however I decided to just backup and restore the Managed Metadata database from old to new farm and see what happened. The new farm already had a Managed Metadata Service instance but had not been configured with any terms. I was also migrating a content database which had a few Managed Metadata columns and lots of items referencing the terms. I was therefore a little anxious as to whether my migrated content would display the migrated terms and if it would be possible to re-sync everything following migration or whether there might be some GUIDs that would not match. It turns out not to be so bad. Below are the steps taken to achieve this.
Backup the Managed Metadata database in old farm
Restore the Managed Metadata database in new farm overwriting the existing one
Give the account you are using db_owner permissions to the restored database
Open Central Admin and navigate to the Manage Services on Server section
Ensure that the Managed Metadata Web Service is started
Perform an IISRESET
In Central Admin navigate to the service applications page
Click on the Managed Metadata Service Application row (not the link through to the management screen)
Click on Administrators in the ribbon
Ensure that the account you are using is listed with Full Control
Click through to the Managed Metadata Service Application management page
In the Term Store Administrators section, add the account you are using
Click Save
Restore the content database
Log into the site of the restored content database
Go to Site Settings -> Site Columns where our Managed Metadata columns are listed
For each Managed Metadata column click through to the column settings page and re-link the term set anchor. You should see all migrated term sets
Your migrated content should now be showing the correct terms and you should be able to modify these values.
Everything here looks good…but I see some extra terms in the targetmetadat database that nobody ever created manually. They look like random number permutations as 18,19,20,21,22,23 etc
Any idea what is teh source of these? I am afraid by overwriting these I might loose some functionality.
Hi Rajni,
Thanks for your comment. It’s difficult to say for sure but it sounds like there must have been some values entered into your target database. If you complete the steps in this post then those values will be overwritten so you need to determine if you want to keep those values.