In questi casi è importanti che ci sia allineamento tra il backup della site collection e del Managed Metadata per i TermSet e Terms in essa contenuti.
Ad esempio se a seguito di un back di una site collection sono stati eliminati dei Term e questi erano stati usati nei contenuti sarà necessario ‘ripristinare’ sia la site collection che il managed metadata. Lo stesso discorso va applicato per spostare una site collection da una farm ad un’altra.
Facendo un export del managed metadata dalla farm source e import su quella target verrà ristabilita la normale operatività.
Export
Seguire passo passo la procedura qui descritta per esportare i TermSet:- Aprire il command Powershell di SharePoint 2010 in modalità Amministrativa
- Per ottenere il GUID della Managed Metadata SA (MMSA) eseguire
Get-SPServiceApplication - Per ottenere il GUID della Managed Metadata SA (MMSA) eseguire
Get-SPServiceApplicationProxy - Modificare il seguente script inserendo il path e nome del file di export dei TermSet e i GUID ottenuti nei passi 2 e 3 rispettivamente sulle variabili $mmsApp e $mmsProxy
$mmsApp = "1de49354-364c-4b00-b938-993eee8bf8a7";$mmsProxy = "8caa7f5f-d68b-40f3-8243-e8ae01573ec8";Export-SPMetadataWebServicePartitionData -Identity $mmsApp -ServiceProxy $mmsProxy -Path W:\MMSexportfile.bak;
Import
Seguire passo passo la procedura qui descritta per importare i TermSet:- Copiare il file di export dei TermSet sulla farm target
- Per ottenere il GUID della Managed Metadata SA (MMSA) eseguire
Get-SPServiceApplication - Per ottenere il GUID della Managed Metadata SA (MMSA) eseguire
Get-SPServiceApplicationProxy - Modificare il seguente script inserendo il path e nome del file di export dei TermSet e i GUID ottenuti nei passi 2 e 3 rispettivamente sulle variabili $mmsApp e $mmsProxy
$mmsApp = "1de49354-364c-4b00-b938-993eee8bf8a7";$mmsProxy = "8caa7f5f-d68b-40f3-8243-e8ae01573ec8";Import-SPMetadataWebServicePartitionData -Identity $mmsApp -ServiceProxy $mmsproxy -path W:\MMSexportfile.bak -OverwriteExisting;
Troubleshooting
Come approcciare i problemi comuni:- Eseguire powershell cmd in Administrative mode
- Se il comando di export lanciato via powershell restituisce un errore di Access denied
L’utente dell’app pool del servizio MMSA non ha accesso in scrittura al path specificato. Da IIS Manager ottenere l’identity dell’app pool della MMSA e dare full control sul path specificato
- Se durante l’operazione di Restore dei “Managed Metadata” ottenete il messaggio di errore
You do not have permission to use the bulk load statement
Aggiungere su Sql Server nel gruppo “bulkadmin” l’utenza dell’application pool. Ulteriori info qui
- Se durante l’operazione di Restore dei “Managed Metadata” ottenete il messaggio di errore
Import-SPMetadataWebServicePartitionData : Cannot bulk load because the file "C:\99f6833d2bac4c53af26b816afca1d55\ECMGroup.dat" could not be opened.
To work around, instead of keeping file on Application Server, I kept it on SQL Server box and used the network path to the file in command. You have to give read write access to this share as PowerShell creates temporary files while importing TermStore. After this the command worked as expected and we were able to import TermStore succesfully. More info here
No comments:
Post a Comment