- Write a console app that writes out CSV files in the format MS have defined, use the import mechanism to move it across.
- The same but with Powershell. This is slightly easier and there are a lot of examples.
- Use the method below I'm about to tell you about, still with PowerShell, to move the whole term store.
On your development box, start the Management Shell and paste in the following (adjust this if you renamed your Managed Metadata service):
$mmsApplication = Get-SPServiceApplication | ? {$_.TypeName -eq "Managed Metadata Service"}
$mmsProxy = Get-SPServiceApplicationProxy | ? {$_.TypeName -eq "Managed Metadata Service Connection"}
Export-SPMetadataWebServicePartitionData $mmsApplication.Id -ServiceProxy $mmsProxy -Path "\\server1\share\mmsdata.cab"
On your production farm, start the Management shell and paste in the following (again, adjust to taste):
$mmsApplication = Get–SPServiceApplication | ? {$_.TypeName –eq "Managed Metadata Service"}
$mmsProxy = Get–SPServiceApplicationProxy | ? {$_.TypeName –eq "Managed Metadata Service Connection"}
Import–SPMetadataWebServicePartitionData $mmsApplication.Id –ServiceProxy $mmsProxy –Path "\\server1\share\mmsdata.cab" –OverwriteExisting
You should now have moved your term store from your dev farm to your production farm. Note that the -OverwriteExisting argument does just that so take care!