Installation Remote Blob Storage im SharePoint 2013 und MS SQL Server 2012

Werkzeuge:

  • SQL Management Studio
  • SQL Server Konfigurations Manager
  • PowerShell inkl. SharePoint SnapIn (als Administrator ausgeführt)

Berechtigungen:

  • Installation-Account –> Farmadministrator / lokaler Administrator
  • IIS Identität der Webanwendung db_owner der entsprechenden Datenbank

Hinweis:

Datenbank = Datenbank auf dem der Remote Blob Storage aktiviert werden soll.

Vorgehensweise:

Schritt 1:

Bevor man anfängt den Remote Blob Storage (rbs) zu installieren muss auf dem SQL Server einmalig der FILESTREAM aktiviert werden. Dies erfolgt mittels des SQL Server Konfigurations Manager. Dort muss auf der jeweiligen SQL Server Instanz im Dialogfeld Eigenschaften auf der Registerkarte FILESTREAM die Haken gesetzt werden(s.h. Bild)

FileStream Registrierkarte im SQL Konfigurations Manager mit alle gesetzten Haken

Ansicht FileStream Registrierkarte im SQL Konfigurations Manager

Anschließend setzt man das filestream_access_level auf zwei. Dies erfolgt im SQL Management Studio über eine neue Abfrage.

EXEC sp_configure filestream_access_level, 2
RECONFIGURE
 

Danach muss der SQL Server Dienst neu gestartet werden.

Schritt 2:

Zur Aktivierung des Remote Blob Storage auf einer bestimmten Datenbank führt man nachfolgende drei Skripte im SQL Management Studio aus.

Skript 1:

use Datenbank
if not exists
(select * from sys.symmetric_keys where name = N’##MS_DatabaseMasterKey##‘)
create master key encryption by password = N’Admin Key Password !2#4′
go

 Skript 2:

use Datenbank
if not exists (select groupname from sysfilegroups where groupname=N’RBSFilestreamProvider‘)
alter database Datenbank add filegroup RBSFilestreamProvider contains filestream
go

Skript 3: 

use Datenbank
alter database Datenbank  add file (name = RBSFilestreamFile, filename = ‚physikalischer Pfad‚) to filegroup RBSFilestreamProvider
go
 

Achtung der physikalische Pfad wird automatisch angelegt!

 Schritt 3:

Lade die Datei RBS.msi aus dem SQL Server Feature Pack SP1 herunter.

Diese muss auf allen SharePoint Servern in der Farm installiert werden. Die Installation erfolgt mittels PowerShell (als Administrator) Befehl. Dabei unterscheidet sich der Befehl auf dem ersten Webserver von allen anderen Server grundlegend.

1. erster Web-Frontend Server:

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi 
TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY 
DBNAME=“Datenbank“ DBINSTANCE=“SQLInstanz“ 
FILESTREAMFILEGROUP=RBSFilestreamProvider 
FILESTREAMSTORENAME=FilestreamProvider_1

2. andere SharePoint Server in der Farm:

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi 
DBNAME=“Datenbank“ DBINSTANCE=“SQLInstanz“ 
ADDLOCAL=“Client,Docs,Maintainer,ServerScript
,FilestreamClient,FilestreamServer“
 

Wichtig dabei ist, das mann den Befehl unter dem Pfad ausführt wo die RBS.msi abgelegt ist. Unter diesem wird auch die jeweilige Log-Datei abgelegt. In dieser sollte die Meldung

„Produkt: Microsoft SQL Server 2012 Remote BLOB Store  — Die Installation wurde erfolgreich abgeschlossen.“

fast am Ende stehen. Außerdem sollten nun im SQL Management Studio folgende Tabellen zusätzlich in der Datenbank angelegt sein (s.h. Bild).

Remote Blob Storage SharePoint 2013 Tabellen im SQL Server Management Studio

Übersicht aller RBS Tabellen im SQL Server Management Studio

Schritt 4:

Abschließend muss nur noch der Remote Blob Storage im SharePoint aktiviert werden. Dazu führt man die PowerShell als Administrator aus und lad anschließend das SharePoint SnapIn mit nachfolgendem Befehl.

add-pssnapin microsoft.sharepoint.Powershell

Zur Aktivierung führt man dann noch folgende Befehle zeilenweise aus.

$myDB = Get-SPContentDatabase Datenbank
$myRBS = $myDB.RemoteBlobStorageSettings
$myRBS.Installed()
 

Dies sollte TRUE zurückgeben!!!

 
 
$myRBS.Enable()
$myRBS.SetActiveProviderName($myRBS.GetProviderNames()[0])
$myRBS
 

Damit ist der Remote Blob Storage installiert und für die Datenbank aktiviert.

Verkleinerung einer Datenbanklogdateien

In manchen Fällen ist es notwendig die Datenbanklogdateien einer Datenbank im SharePoint zu verkleinern.

Dies kann mittels eines kleinen Scriptes erfolgen, welches im Microsoft SQL Server Management Studio ausgeführt wird.

Als erstes wählt man die entsprechende Datenbank aus.

use Datenbankname
go

Anschließend sollte das Recovery-Modell dieser Datenbank auf simple gesetzt werden.

ALTER DATABASE Datenbankname
SET RECOVERY SIMPLE
go

Nun kann die Log-Datei verkleinert werden

 DBCC SHRINKFILE( Datenbankname_logGröße)
go

Abschließend sollte man das Recovery-Modell wieder auf  Full setzen.

ALTER DATABASE Datenbankname
SET RECOVERY FULL
go