Showing posts with label taxonomy. Show all posts
Showing posts with label taxonomy. Show all posts

17 April, 2013

Migrate managed metadata from one environment to another in SharePoint 2010

What will be the requirement?
Your user will be raising a ticket for to create a replica of the production site in development environment.

Quite easy - correct? You can easily implement this by using PowerShell but now the problem starts from here. If your site collection admin has created a term store in production site then you will not get those in development environment. Hmm- seems to be difficult now, isn’t it?

Reason: Managed metadata terms and term sets each have a unique guid and the guids don't match up

Nothing to worry about as we have a solution for that :)

Let me brief some details as local terms can be created by 2 ways:
-centrally i.e. @Central Administration Level
-Locally i.e. @site collection level

Let me talk about ‘Centrally’ first: There are some ways by which you can implement this.
-By using Export and Import
-By using Database method

Let’s discuss about the first method i.e. Export and Import

Export Example:
$mmsAppId= "e1c96163-7767-4497-8e92-51eb154f0c70"
$mmsproxy = Get-SPServiceApplicationProxy -Identity "4d4b3094-a9ad-4cee-99f4-392d489a1657"
Export-SPMetadataWebServicePartitionData -Identity $mmsAppId -ServiceProxy $mmsproxy -Path "E:\backups\SP2010_Backups\mms.bak"
You must be wondering as how to get this App ID Guid Placeholder and Proxy ID Guid Placeholder. It’s very easy-please refer the following steps:
How to get App ID Guid:
-Central Administration
-Application Management
-Manage Service Applications
-Managed Metadata Service Application
-refer the browser now and copy the guid which is after tsid=

How to get Proxy ID Guid:
-Open the PowerShell console
-execute this command-  Get-SPServiceApplicationProxy
-You will see a list of proxy id’s and you need to copy ID that belongs to managed metadata.

Follow the same process in Import also and get the guids. Obviously they will be different as they belongs to different farm i.e. target farm.
Import Example:
$mmsAppId= "d7b7b20c-aed1-4cag-ba6a-45baa9d6adf2"
$mmsproxy = Get-SPServiceApplicationProxy -Identity "df8606f1-cfca-4283-89db-9270e0a5adec"
Import-SPMetadataWebServicePartitionData -Identity $mmsAppId -ServiceProxy $mmsproxy -Path "\\SP2010_SQL\SP2010\mms.bak" –OverwriteExisting
Database approach:
-Backup the managed metadata database in your source farm
-Delete the MMS service in your target farm
-Restore the managed metadata database to your target farm
-Create a new MMS service in your target farm
-Ensure correct service accounts have full control of MMS

How to move local term stores?
We can easily move the local term stores by using the following tool:
Documentation is already provided on the above site only so I will not go much deeper in reference to this tool but it’s very easy and user friendly too.
If you have any queries/questions regarding the above mentioned information then please let me know, thank you.