by Andreas

Sharepoint 2010 – backup og import av lister og libraries

En viktig funksjon i Sharepoint 2010 er muligheten for å eksportere lister og libraries på en enklere måte enn sP 2007. Dette er en bare en kjapp gjennomgang av hvordan du eksporterer en liste du har opprettet og deretter importere den i en annen instans av SP 2010.

Backup / export
Fra Sharepoint Central Administration
-> Backup and restore
-> Granular Backup :: Export a site or list
-> Velg Site (i mitt tilfelle var url kun “/”)
-> Velg liste (søk på navn, eksempel KUNDE), listen burde da vises
-> Gi den et navn, om du ønsker å dumpe alt av brukerinfo osv må du huke av Export full security. Jeg så ikke poenget med det i mitt tilfelle
-> Export All versions
-> Start Export

Dette gir deg to filer, en .CMP og en .EXPORT. CMP er den faktiske eksporten, mens .EXPORT kun er for logging.

Restore

Selv om export av lister kan gjøres via Central Administration må importen gjøres via Windows Powershell.
Start Sharepoint 2010 Management Shell (dette må kjøre under en bruker som har tilgang til SharePoint_Shell_Access, for eksempel administrator. Les mer om dette her )
-> “Import-SPWeb -Identity http://[din sharepointsite, for eksempel localhost] -Path [path til .CMP-filen som skal importeres]
..:: eksempel: Import-SPWeb -Identity http://localhost -Path “C:Sharepoint2010BackupCustomer.cmp”
-> En cmp.import-fil opprettes hvor status kan sjekkes.

Listene burde nå være tilgjengelige i Sharepoint.

  • Mr Olrich

    Det ser ut til at når man skal importere en tidligere eksportert liste med Import-SPWeb, må listen eksistere på forhånd? Og importerer man til en liste med eksisterende elementer vil importerte elementer legges i tillegg slik at man får duplikater? Jeg har forsøkt ulike parametre under import og alle gir duplikater.

    Ønsker å bruke Export-SPWeb og Import-SPWeb både til backupformål og til å transportere lister til/fra ulike SPF-installasjoner på ulike PCer (en på stasjonær hjemme, en på laptop som jeg tar med).

  • http://blog.degree.no/bloggere/ Andreas

    Det scenarioet der er ukjent for meg. Jeg eksporterte listene mine fra en instans av Sharepoint over på en helt ny instans (på en annen server) hvor listene ikke eksisterte fra før. Det fungerte greit, og jeg kjørte bare kommandoene over:

    Import-SPWeb -Identity http://localhost -Path “C:Sharepoint2010BackupCustomer.cmp”

    Sjekk om det finnes parametere når du eksporterer som styrer duplikater / opprettelse av ny liste.

    PS: det er SP2010 du bruker?

  • Mr Olrich

    Hei igjen, og takk for svar. Beklager, jeg rotet visst litt da jeg sa at en liste på eksistere på forhånd — jeg har testet med eksport og import, og den behøver IKKE å eksistere på forhånd. My bad.

    Likevel, “duplikat-problemet” eksisterer fremdeles. Har SPF2010 på to PCer, så og si identisk oppsatte (samme site templates, samme brukernavn/passord, osv.). Eksporterer en liste fra den ene PCen med

    Export-SPWeb -Identity http://blekkbox/ -Path “C:Kunder.list” -ItemUrl “/Lists/Kunder”

    og importerer denne til den andre PCen (listen “Kunder” eksisterer ikke her):

    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list

    Dette går helt fint. Skal jeg imidlertid benytte dette slik jeg opprinnelig hadde tenkt, hvor én SPF-web (eller ymse innhold i den) “tas med” og oppdateres “on the road” på laptopen, og så synkes tilbake til den stasjonære når jeg kommer hjem, virker ikke dette som jeg hadde ønsket. Jeg må slette listen “Kunder” i destinasjonsweben før jeg importerer, for hvis den eksisterer fra før, importeres alle elementer i listen og legges i tillegg til de eksisterende.

    Har forsøkt med alle tenkelige varianter av Import-SPWebs Overwrite-parameter, samme resultat:

    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions Add
    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions Overwrite
    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions Ignore
    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions 1
    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions 2
    Import-SPWeb -Identity http://buflebox -Path C:Kunder.list -UpdateVersions 3

    Merk at dokumentasjonen på http://technet.microsoft.com/en-us/library/ff607613.aspx er litt feil, som nevnt hos http://blogs.x9000.com/Lists/Posts/Post.aspx?ID=10. Googles kommandoen og “updateversions” fremkommer bruk med parametre 1, 2, og 3, så derfor ble disse også forsøkt.

  • http://blog.degree.no/bloggere/ Andreas

    OK, jeg hadde forventet at måten du gjorde det på med “-updateversions 3” burde fungert. Jeg vet ikke hvordan versioning funker med liste-elementer, men kunne det være at de ikke har noe versjonsnummer og at det derfor er umulig for importen å vite om dette elementet er nytt eller ikke?

    Jeg (med min utviklerbakgrunn….) ville kanskje i dette tilfellet vurdert å lage en app som tok seg av synkroniseringen mellom listene. Den kunne på den ene siden dumpe innholdet i en liste og så sjekke det opp mot det som finnes i en tilsvarende liste og oppdatert deretter. Da hadde du hatt full kontroll på hva som ble gjort med listene dine.

    Likevel merkelig at din fremgangsmåte ikke fungerer..

  • Mr Olrich

    Yep, det er det jeg synes også, at det er litt merkelig at det ikke fungerer på den måten man skulle tro det ville fungere på. Jeg har spurt Hr. Google flere ganger, men finner ikke noen med samme problemstilling, ihvertfall ikke ennå. Produktene er foreløpig ganske ferske, så jeg regner med at “noen” blir klar over denne problemstillingen etterhvert og kommer med en patch som fikser det. Inntil videre får jeg bare vente — det er tross alt ikke snakk om noe som skal ut til kunder ennå, men mer for “lekeformål i senere forretningsøyemed”. Takk for innspill og tilbakemelding likevel!

  • http://blog.degree.no/bloggere/ Andreas

    Jeje, vi setter pris på om du sa fra når du finner en løsning eller en patch på problemet! Jeg skal se om jeg får sett litt på dette etterhvert selv, og sier i så fall fra her.

    Lykke til!

  • Mr Olrich

    Takk for det, noterer meg ønsket om tilbakemelding og link til blogginnlegget her, så får vi se om jeg med tiden finner en løsning.

    Ha en strålende dag :-)