Hinterlasse einen Kommentar

Migration einer SharePoint Site-Collection mit SiteSubscription (Multi-Tenancy) auf eine Nicht-Mehrmandaten-Farm

In Microsoft SharePoint ist es möglich, in einer Farm mehrere Mandanten zu betreiben. Entscheidet sich nun ein Mandant für einen eigenen, vollwertigen SharePoint Server und will die Site-Collection vollständig auf den neuen Server übernehmen, steht man vor einem Problem, das offiziell nicht lösbar ist. Die Site-Collection kann zwar migriert werden mit dem vollständigen Inhalt, jedoch funktionieren auf der Ziel-Farm sämtliche Service-Applikationen nicht, welche mehrmandantenfähig eingerichtet sein müssten (partitioned service applications). Z.B. die Suche liefert dann keine Suchergebnisse, obwohl scheinbar alles richtig konfiguriert ist und die Inhalte indexiert wurden, ohne Fehlermeldungen.

Sobald eine SiteCollection einmal einer SiteSubscription zugewiesen wird (z.B. über Set-SPSite -SiteSubscription), kann diese SiteSubscription nie mehr entfernt werden. Will man diese SiteCollection auf eine neue SharePoint-Farm migrieren, muss auch die Ziel-Farm mit Multi-Tenancy konfiguriert sein. Eine Migration ohne diese Site-Subscription ist offiziell nicht möglich und wird auch nicht in absehbarer Zeit von Microsoft unterstützt werden. Der Microsoft Support hat uns dies bestätigt Ende August 2017, in Bezug auf SharePoint Server 2016.

Eine offizielle, funktionierende Alternative ist, alle benötigten Websites manuell zu exportieren und wieder zu importieren (Export-SPWeb und Import-SPWeb). Dieser Prozess kann sehr zeitaufwändig sein und die Site-Collection muss neu erstellt und konfiguriert werden.

Eine inoffizielle Alternative ist, die Zuweisung der Site-Subscription manuell aus der Inhaltsdatenbank zu löschen. Solche Datenbankeingriffe sind von Microsoft nicht unterstützt. Bei meinen Tests mit SharePoint 2013 hat dies erfolgreich funktioniert (alle Angaben ohne Gewähr!)

  1. Datenbank von SharePoint dismounten (Dismount-SPContentDatabase)
  2. SQL-Befehl auf der Inhaltsdatenbank ausführen:
    UPDATE Sites SET SubscriptionId = NULL WHERE SubscriptionId IS NOT NULL
  3. Datenbank beim SharePoint mounten (Mount-SPContentDatabase)

Anschliessend hat bei mir die Suche wieder korrekt funktioniert. Es dauerte zwar ein paar Stunden (über Nacht), bis die Suchergebnisse erschienen. Bisher habe ich keine negativen Nebeneffekte festgestellt.

Advertisements

Über Benjamin Gemperle

Web Developer bei 2sic Internet Solutions GmbH seit 2006. Entwickelt Software-Lösungen mit Web-Standards und Microsoft-Technologien. Mein Daily Business: SharePoint, DNN, Angular, ASP.Net, C#, SQL Server, IIS, InfoPath, Access, Excel, PowerShell sowie gängigen Web-Sprachen HTML, CSS, JavaScript (jQuery, AngularJS), AJAX, XML, XSL/XSLT. Mein Ausgleich: Reisen, Natur, fein Kochen und Essen, Fitness, Biken, Skiing.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: