14 comments on “Synchronize, Import or Copy Term Stores & Managed Metadata in SharePoint Between Environments
  1. John Calvert says:

    Don’t forget Gary Lapointe’s excellent PowerShell cmdlets for SharePoint 2010 and 2013 which include MMS export and import commands
    http://www.falchionconsulting.com/PowerShellViewer/Default.aspx?Version=SP2010&Cmdlet=Export-SPTerms
    http://www.falchionconsulting.com/PowerShellViewer/Default.aspx?Version=SP2013&Cmdlet=Export-SPTerms

  2. Thanks I did not know about this one but I will add it now.

  3. Karthik says:

    Hi,

    Thanks. Very good information on handling Metadata. Here is another article http://erickhaw.blogspot.com/2010/11/migrate-sharepoint-2010-managed.html.

    Moreover, MMS backup and restore may not be the correct solution, since it involves SQL team help to achieve that. In production, they may not authorize any changes.

    Thanks
    Karthik

  4. Hi Karthik,

    You are correct that it depends on the company regarding doing a restore in SQL Server Management Studio to keep the same GUIDs. At our company we are allowed to restore to SQL but in some companies they will not let you. Thanks for the good link.

    Matthew

  5. Don Miller says:

    ConceptClassifier for SharePoint actually allows you to manage the GUIDS and sync the term store as you migrate from development to QA to UAT to staging and ultimately to production.

  6. Added to the list, thanks.

  7. I had a question recently regarding if there was a way to automatically import terms into the term store from another system, perhaps in a .txt format or something similar that was running on a batch job and being placed on a file share. Here is my response:

    I found a few of products but I am not sure if they are exactly what you are looking for:

    Metavis – http://www.metavistech.com/product/term-store-manager
    * This product allows you to manage the term store in a better way but I don’t quite understand what they mean by “import SKOS”

    Metalogix – http://www.metalogix.com/News-Detail/12-06-01/SharePoint_New_and_Improved_Products_Content_and_Project_Management_PDFs_Extranets.aspx
    * This appears to allow end users to add terms but I am not sure about an auto-import feature

    Concept Searching
    *I think this product just forces new items to be classified vs. adding new terms to the term store but not sure
    http://www.conceptsearching.com/wp/products/sharepoint/

    Other than that, at one point we were exporting the terms into a .txt file and re-importing them into a different server’s MMS database from this text file. So conceptually, some type of addition of new terms must be possible with a script, however I remember we had some issues doing it this way and stopped using it. There is also the issue of the HiddenTaxonomyList that assigns a unique number to each term which could become messed up with a complete removal and re-import. I believe the issues were it not always working correctly or converting ASCII text incorrectly at times.

  8. Nicolai Bonne says:

    Hi,

    Just want to let you know that you could also consider adding ServiceAware Term Store Sync to your list. Most of the same features as Metavis, just automated using Timer Jobs. We used it to sync term groups with GUIDs to Office365 in a hybrid setup.

    Thanks for a great overview of products. Much appreciated

    /Nicolai

  9. Jeff Cate says:

    The PremierPoint Solutions Term Sync product mentioned in the article (#11) does automatic synchronization of external business data with an on-premises Term Store for virtually any external data source, because it connects through the BCS. So, you can synchronize customer data from your CRM system, vendor data from your ERP system, etc.

    The synchronization jobs run on a schdeule that the SharePoint Farm Administrator can set.

    Here is the link to the product page: https://www.premierpointsolutions.com/products/managed-metadata-synchronization-solution/

  10. Hi Matthew,

    Thank you for great overview.

    I just noticed that the link to ServiceAware Term Store Sync in bullet number 12 is not working and pointing to your own site. The link should point to http://www.serviceaware.com

    Also, the description is somewhat not completely correct. I’ve added a new description below that you can use as a replacement.

    Thank you very much!

    Best regards,
    Charlotte Cathrine

    ServiceAware Term Store Sync can ensure consistent SharePoint Managed Metadata taxonomies across – both classic Development, Testing, Acceptance and Production environments – and also hybrid environments with SharePoint 2013 on-premises and SharePoint Online in Office365. ServiceAware Term Store Sync also support manual migration of Term Groups and Term Sets using XML files, while still maintaining unique identifiers, labels, sort order, etc. A fully functional trial version is available for download from http://www.serviceaware.com/download

  11. Sorry about that, I fixed it now. Feel free to send $$$ for the free advertising :)

  12. Patrick says:

    Such a great article. Just want to let you know that you could also consider adding ServiceAware Term Store Sync to your list

  13. Nasir Abbas says:

    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.

    http://blog.kuppens-switsers.net/sharepoint/migrate-managed-metadata-between-farms/?subscribe=success#blog_subscription-3

    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:

    #http://blog.kuppens-switsers.net/sharepoint/migrate-managed-metadata-between-farms/

    # 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.

  14. Awesome thanks for sharing your process with everyone!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>