Spring til indholdet

Biblioteket, der voksede ud af sin indholdsdatabase

Et SharePoint 2010-websted voksede sig for stort, fordi alle lagde filer i det samme bibliotek. En sikkerhedskopi kunne ikke gendannes et nyt sted, så biblioteket og nogle lister blev flyttet én ad gangen til en ny webstedssamling i en ny indholdsdatabase.

PowerShell 2 min. læsning

I 2015 voksede et websted på en kundes SharePoint 2010 sig pludselig stort. Brugerne lagde filer op i ét bestemt dokumentbibliotek, som om der ingen ende var på det, og indholdsdatabasen, webstedet lå i, voksede med. Ved 100 GB begynder Health Analyzer at advare, selvom Microsofts egen anbefaling for SharePoint 2010 var 200 GB. Selv holder jeg databaserne under 200 GB. Biblioteket og et par lister skulle flyttes til et nyt websted i en ny webstedssamling, der lå i sin egen database.

Hvorfor det ikke bare kunne gendannes#

Den nemme vej er at tage en sikkerhedskopi af hele webstedet og gendanne den som en ny webstedssamling. Den gik ikke her. Webstedet var bygget på en webstedsskabelon, som kunden ikke længere havde adgang til, og en gendannelse kræver, at det, webstedet er bygget på, findes i farmen. Jeg ville heller ikke have hele webstedet med, kun biblioteket og et par lister, og ikke alt det, de hang sammen med.

Så det blev plan B: lister og biblioteker eksporteret og importeret én ad gangen.

Sådan blev det gjort#

  1. En ny indholdsdatabase til webapplikationen.
  2. Den gamle database sat til Offline i Central Administration. Det lukker den ikke, men SharePoint lægger ikke nye webstedssamlinger i den.
  3. En ny webstedssamling og et nyt websted. Da den gamle database ikke tog imod flere, havnede samlingen i den nye.
  4. Et script, der eksporterede hver liste og hvert bibliotek med Export-SPWeb og importerede dem på det nye websted med Import-SPWeb, med alle versioner og rettighederne på elementerne.

Scriptet og det, der skal passes på, står i Flyt en liste eller et bibliotek til en anden webstedssamling med Export-SPWeb.

Det, sagen mindede mig om#

Kunder bruger deres SharePoint på en anden måde, end man regnede med, da det blev sat op. Det kan man skønne sig til så godt, man vil. Og i SharePoint Server er det ikke ligegyldigt, hvor tingene ligger:

  • En webapplikation kan have mange indholdsdatabaser, en database mange webstedssamlinger, en webstedssamling mange websteder og et websted mange lister og biblioteker.
  • En webstedssamling ligger altid i én database. Den kan flyttes mellem databaser med en enkelt PowerShell-kommando.
  • Et websted kan ikke flyttes til en anden webstedssamling med en kommando. Det er derfor, lister og biblioteker må flyttes enkeltvis.
  • I PowerShell hedder et websted SPWeb og en webstedssamling SPSite, hvilket er noget forvirrende.

Sidst opdateret

Del

Relaterede

Tags