Remote BLOB Storage in SharePoint Server 2010 oder – wie bekomme ich meine Datenbanken klein?

Eine der häufigsten Fragen, die ich zu SharePoint 2010 aus ITPro Sicht bekomme ist: Wird FILESTREAM in SQL Server 2008 unterstützt, damit die BLOBs (Dokumente, Bilder, Videos) meine Datenbank nicht so groß machen?

Die Antwort ist: Ja. Allerdings wird aus SharePoint Sicht nicht Filestream direkt unterstützt, sondern das SQL Server Feature “Remote BLOB Storage” (RBS). RBS ist ein allgemeines Verfahren, wie SQL Server BLOBs außerhalb der Datenbank speichern kann, z.B. in Archivsystemen von Drittherstellern. Der dafür benötigte RBS-Provider muss dabei vom Hersteller des Archiv- oder anderen BLOB-Speichersystems bereitgestellt werden. Und mitgeliefert wird ein RBS-Provider für Filestream.

Die genaue Installations- und Konfigurationsanleitung für RBS befindet sich hier: Manage remote BLOB storage (SharePoint Server 2010)

Das grundsätzliche Vorgehen ist das Folgende:

Zuerst muss auf dem SQL Server FILESTREAM aktiviert werden. Dann wird in der Inhaltsdatenbank ein Database Master Key und eine Filestream-Dateigruppe angelegt. Der zugehörige Ordner muss auf lokalen Platten liegen.

Danach wird auf jedem Webfrontend- und Applicationserver der SharePoint Farm das rbs.msi-Paket installiert (wie in der Anleitung angegeben, nicht mit Standardparametern!) Das legt geichzeitig die RBS-Tabellen (die fangen alle mit mssqlrbs an) in der Inhaltsdatenbank an.

Schließlich wird RBS über PowerShell aktiviert:

$cdb = Get-SPContentDatabase <Content database name>

$rbss = $cdb.RemoteBlobStorageSettings

$rbss.Installed()

$rbss.Enable()

$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])

$rbss

Danach sollten alle größeren Dokumente automatisch im Dateisystem gespeichert werden. Wichtig ist: Der Zugriff auf die Dokumente darf weiterhin nur über SharePoint (bzw. über SQL Server) erfolgen, direkter Zugriff auf die Filestream-Dateien ist nicht unterstützt! Es geht hier nur um eine Entlastung der Inahltsdatenbanken.

Nachdem das alles funktioniert kann RBS auch für weitere Inhaltsdatenbanken konfiguriert und aktiviert werden.

Gruß,
Steffen