Managed Metadata terms and termset each have a unique guid. In this scenario, take a backup of a production site that is using managed metadata in some columns in a list. Now restore this site into another environment. The guids don't match up, therefore you have to go through and reclick each term and "wire it back up" so it's okay and doesn't show in red text.

I've written a utility that will go through each list, checks the terms text, finds that test in the term set, then resets the guid accordingly.

But there has to be a better way. What am I missing? (By not using a third party pay tool)

4 Answers 4


The by far easieast way to move the MMS between environment is to use a backup->restore approach.

  1. remove the MMS SA from your destination farm
  2. restore the db to your destination sql
  3. create new MMS SA using the restored db name
  4. Voila
  • I wish SharePoint had the flexibility to backup/restore just areas of the term set, instead of the entire thing, but this approach should work. I do like Erick's export/import with guids approach and the tips in Neil's blog as well. I'm using sections of all three.
    – Shane
    Commented Feb 9, 2011 at 12:50
  • There are a few more steps than just these. MS has a decent article link. It includes stopping the MM service first. Commented May 19, 2016 at 14:59

Check this out on my blog, http://erickhaw.blogspot.com/2010/11/migrate-sharepoint-2010-managed.html


The Cleverworkarounds blog has some tips worth checking out and a script you can use (which sounds like your approach). I know of a better way. Remember it's a v1.0 feature from Microsoft and so there's lots of work left to do (lots of bugs too).

There's also the (free) SolidIQ Managed Metadata Exporter which can get you part of the way.


I successfully did it by following this blog post:

Source SP Farm - Windows Azure SharePoint Server 2013 VM.

Destination SP Farm - SharePoint Server 2013 VM.


Note: First migrate term store and then Backup/Restore site collection.

Finally Change site collection administrators of restored site collection from Central Administration (CA).

Here are detailed steps:


Step 1 - Export Term Store script

$mmsApplication = Get-SPServiceApplication | ? {$.TypeName -eq "Managed Metadata Service"} $mmsProxy = Get-SPServiceApplicationProxy | ? {$.TypeName -eq "Managed Metadata Service Connection"} Export-SPMetadataWebServicePartitionData $mmsApplication.Id -ServiceProxy $mmsProxy -Path "C:\MMS\mmsdata.cab"

Step 2 - Import script

$mmsApplication = Get-SPServiceApplication | ? {$.TypeName -eq "Managed Metadata Service"} $mmsProxy = Get-SPServiceApplicationProxy | ? {$.TypeName -eq "Managed Metadata Service Connection"} Import-SPMetadataWebServicePartitionData $mmsApplication.Id -ServiceProxy $mmsProxy -Path "C:\MMS\mmsdata.cab" -OverwriteExisting

Step 3 - Backup site

Backup-SPSite -Identity "http://sp2103dev/sites/abc/" -Path "C:\MMS\sitetoarchive.bak"

Step 4 - Restore site

Restore-SPSite -Identity "http://sp2013/sites/xyz" -Path "C:\MMS\sitetoarchive.bak" -force

Step 5 - Note:- after site restore we need to change site collection administrator(s) for CA so that these users can access the site.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.