Contentdatenbank umbenennen

Umbenennen einer Contentdatenbank

Das Umbenennen einer Contentdatenbank ist in manchen Fällen nötig. Zum Beispiel, wenn die automatisch generierte Datenbank im Namen eine GUID enthält. s.h. Bild

Ansicht Contendatenbank mit GUID

 

1.Schritt

Dazu startet man die PowerShell und lädt das Sharepoint-Modul mit

add-pssnapin microsoft.sharepoint.powershell

Anschließend listet man die jeweilige Datenbank für die einzelnen Webapplicationen auf.

get-spwebapplication | select-object Url, ContentDatabases | Format-List

Ansicht der Contentdatenbanken pro Webapplication

2.Schritt

Als nächsten Schritt wird die Datenbank abgehangen. Das erfolgt mittels

dismount-spcontentdatabase Datenbankname

Dismount Contentdatenbank

dies muss mit Y bestätigt werden..

3.Schritt

Anschließend kann man die Contentdatenbank im SQL Management Studio mittels Query umbenennen.

Umbenennen einer Contendatenbank im SQL Management Studio

4.Schritt

Abschließend muss die Contentdatenbank mittels

mount-spcontentdatabase „neuer Datenbankname“ -Webapplication URL

wieder angefügt werden.

Anhängen der Contentdatenbank

Verkleinern von mehreren Log-Dateien im SharePoint

Das Verkleinern der Log-Dateien der einzelnen SharePoint-Content Datenbanken kann mittels dieses kleinen SQL-Scripts erfolgen

Exec sp_msforeachdb ‚
BEGIN
declare @LogFile nvarchar(2000)
USE [?]
Select @LogFile=Name From sys.database_files
where sys.database_files.type = 1 and sys.database_files.name LIKE “WSS_%“
if @LogFile IS NOT NULL
Begin
PRINT @LogFile
EXEC(“ALTER DATABASE [?] SET RECOVERY SIMPLE“)
DBCC SHRINKFILE (@LogFile, 1)
EXEC(“ALTER DATABASE [?] SET RECOVERY FULL“)
END
END‘
GO
 

Hierbei ist zu beachten, dass sys.database_files.name LIKE “WSS_%“ nur die Log-Dateien von Content-Datenbanken selektiert, welche mit „WSS_“ beginnen.

Sollen auch Log-Dateien anderer Datenbanken beachtet werden, muss diese Anweisung entsprechend angepasst werden.

 

[Update]

der Fehler:

Ein Sortierungskonflikt zwischen ‚Latin1_General_CI_AS_KS_WS‘ und ‚Latin1_General_CI_AS‘ im is not-Vorgang kann nicht aufgelöst werden.

kann mit einer Collate Anweisung behoben werden.

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.