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.

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