Migration einzelner Sites von WSS v2 nach SharePoint 2007

Nachdem SharePoint 2007 auf einem Testsystem installiert ist kommt natürlich die Frage: Wie bekomme ich meine alten Daten da rein? Die Dokumentation zeigt 3 Wege auf, um von v2 auf v3 oder Office SharePoint Server 2007 zu kommen: 1. Direktes (in-Place) Upgrade, 2. Graduelles Upgrade, 3. Anhängen von Inhaltsdatenbanken. Die ersten beiden Möglichkeiten sind ein Upgrade, hier soll es aber darum gehen wie man Daten von v2 auf SharePoint 2007 bekommt, ohne die v2 (oder SharePoint Portal Server 2003) Installation zu aktualisieren. Also bleibt nur das Anhängen von Inhaltsdatenbanken.

Was aber, wenn man auf den Datenbankserver, auf dem die SharePoint Sites liegen, gar keinen Zugriff hat? So bei mir der Fall, wo die zu migrierenden Sites in einem unser Data Center liegen. Der erfahrene SharePoint-Admin denkt dann smigrate. Richtig, aber – smigrate gibt es unter SharePoint 2007 nicht mehr, und man kann auch mit smigrate aus v2 nicht auf v3-Sites zugreifen. Hier nun meine Lösung für die Aufgabe. Die Idee besteht darin, erst die Daten mittels smigrate von einer entfernten WSS v2 Installation in eine eigene Inhaltsdatenbank auf einer lokalen WSS v2-Installation zu migrieren und dann diese Inhaltsdatenbank nach SharePoint 2007 zu bringen.

Alle, die direkten Zugriff auf den Quell-Datenbankserver haben können direkt hier weiterlesen.

Voraussetzungen

Benötigt wird also eine lokale Installation von WSS v2 (oder SharePoint Portal Server 2003), und auf dieser Installation muss Service Pack 2 installiert sein (sonst nimmt MOSS 2007 die Datenbank nicht an). Diese Installation kann in einer virtuellen Umgebung sein und muss nicht zwingend Netzwerkzugriff haben. Außerdem sollte der Datenbankserver lokal oder zumindest direkt zugreifbar sein.

Wenn die WSS v2-Instzallation keinen Netzwerkzugriff hat muss man außerdem auf einer das Tool smigrate auf eine Maschine mit Netzwerkzugriff (und installiertem .NET Framework) kopieren. Dazu kopiert man einfach das komplette Verzeichnis, in dem sich smigrate.exe findet (c:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\60\bin) sowie die Microsoft.SharePoint.dll aus dem Global Assembly Cache auf den Rechner mit Netzwerkzugriff.

Kopieren der Sites in eine eigene Inhaltsdatenbank

Jetzt werden zuerst die Quellsites mit smigrate gesichert.

smigrate -w https://quellserver/sites/zusicherndesite -f c:\backups\MeineSicherung.fwp

Dann wird auf der lokalen WSSv2-Installation eine neue Inhaltsdatenbank angelegt. Das geht über die Zentraladministration, Einstellungen virtueller Server konfigurieren, Inhaltsdatenbanken verwalten. Dort eine neue Inhaltsdatenbank anlegen und gleichzeitig für die bereits vorhandene(n) Inhaltsdatenbank(en) die Werte für „Websiteanzahlwarnung“ und „Maximale Anzahl an Websites“ auf dieselbe Zahl wie „Aktuelle Anzahl an Websites“ setzen. Das stellt sicher, dass die im nächsten Schritt restaurierten Sites in der neuen Inhaltsdatenbank abgelegt werden.

Jetzt muss für die Rücksicherung eine leere Site Collection angelegt werden. Das geht am besten mit stsadm:

stsadm -o createsite -url https://muenchen/sites/DevGroup -ownerlogin muenchen\administrator -owneremail administrator@contoso.com

Dann kann das Backup eingespielt werden:

smigrate -r -w https://muenchen/sites/DevGroup -f z:\stsadm\DevGroup.fwp -u muenchen\administrator -pw Daspasswort -x

Der Parameter –x sorgt dafür, dass die Berechtigungen nicht wiederhergestellt werden, was notwendig ist, wenn sich Quell- und Zielmaschine nicht in derselben Domäne befinden.

Damit sind die restaurierten Sites in der neuen Inhaltsdatenbank. Das sollte man nochmal in der Zentraladministration überprüfen: Für die alte(n) Inhaltsdatenbank(en) sollte die „Aktuelle Anzahl an Websites“ dieselbe geblieben, für die neue muss sie jetzt größer als Null sein.

Migration der Inhaltsdatenbank

Jetzt wird auf der WSS v2 Datenbankmaschine eine normale SQL Server Sicherung der neuen Inhaltsdatenbank gemacht.

Dieses Backup wird dann (nach Wunsch auch unter anderem Namen) wiederum mit SQL Server-Mitteln auf dem Datenbankserver der MOSS 2007-Installation restauriert. Dabei ist es kein Problem, wenn der Quellserver SQL Server 2000 und der Zielserver 2005 ist. Dann muss man nur die Pfade der restaurierten Datenbankdateien beim Restore anpassen (unter „Optionen“ bei „Datenbank wiederherstellen“).

Jetzt kann diese Inhaltsdatenbank an die MOSS 2007-Installation angehängt werden. Der Weg dazu ist derselbe wie das Anlegen einer neuen Datenbank, nur dass als Datenbankname der Name der zu migrierenden Datenbank angegeben wird:

  • SharePoint 3.0 Zentraladministration
  • Application Management
  • Content Databases
  • Add a content Database
  • Hier nur darauf achten, dass unter „Database Name“ der Name der restaurierten Datenbank eingetragen wird.

Einfach auf OK klicken, die Datenbank wird angehängt und an SharePoint 2007 angepasst. Das kann je nach Größe der Datenbank eine Weile dauern. Danach zur Sicherheit ein iisreset ausführen, und die Sites stehen zur Verfügung.

Jetzt sollte man noch die Site-Administratoren anpassen. Das geht unter Application Management->SharePoint Site Management->Site collection administrators.

Außerdem sehen die restaurierten Sites nicht so schön aus wie MOSS 2007-Sites. Wenn man das ändern möchte kann man das alte Template mit einem neuen überschreiben. Dazu die Site öffnen (über ihren vollen Pfad, sie ist ja noch nicht im Site Directory verlinkt), auf Websiteeinstellungen->Aussehen und Verhalten->Websitedesign gehen und eins anwenden, danach ggf. noch den Punkt „Auf Websitedefinition zurücksetzen“ anklicken. Außerdem sollte man die Berechtigungen überprüfen und anpassen.

Jetzt erscheinen die Sites im neuen 2007er Design, und alles ist migriert.

Wenn jetzt bestimmte Dinge noch nicht funktionieren, weil z.B. benutzerdefinierte Webparts fehlen findet man hier Hilfe.

Gruß,
Steffen