Transaktionsprotokoll aller Datenbanken verkleinern (Microsoft SQL Server)

Im SQL Server Management Studio ausführen als neue Abfrage. 

Um das Transaktionsprotokoll aller SQL Datenbanken zu verkleinern eignet sich folgendes Script:

DECLARE @DatabaseName NVARCHAR(255);
DECLARE @LogFileName NVARCHAR(255);
DECLARE @OriginalRecoveryModel NVARCHAR(50);
DECLARE @Sql NVARCHAR(MAX);

-- Cursor über alle Datenbanken außer Systemdatenbanken
DECLARE DatabaseCursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE state = 0 -- Nur Online-Datenbanken
 AND name NOT IN ('master', 'tempdb', 'model', 'msdb'); -- Systemdatenbanken ausschließen

OPEN DatabaseCursor;

FETCH NEXT FROM DatabaseCursor INTO @DatabaseName;

WHILE @@FETCH_STATUS = 0
BEGIN
   -- Ermitteln des aktuellen Recovery Models
   SELECT @OriginalRecoveryModel = recovery_model_desc
   FROM sys.databases
   WHERE name = @DatabaseName;

   -- Hole den logischen Namen der Log-Datei
   SELECT @LogFileName = name
   FROM sys.master_files
   WHERE database_id = DB_ID(@DatabaseName)
     AND type_desc = 'LOG';

   -- Recovery Model auf SIMPLE umstellen
   SET @Sql = 'ALTER DATABASE [' + @DatabaseName + '] SET RECOVERY SIMPLE;';
   PRINT 'Executing: ' + @Sql;
   EXEC(@Sql);

   -- Log-Datei schrumpfen
   SET @Sql = 'USE [' + @DatabaseName + ']; DBCC SHRINKFILE ([' + @LogFileName + '], 1);';
   PRINT 'Executing: ' + @Sql;
   EXEC(@Sql);

   -- Ursprüngliches Recovery Model wiederherstellen
   IF @OriginalRecoveryModel = 'FULL'
       SET @Sql = 'ALTER DATABASE [' + @DatabaseName + '] SET RECOVERY FULL;';
   ELSE IF @OriginalRecoveryModel = 'BULK_LOGGED'
       SET @Sql = 'ALTER DATABASE [' + @DatabaseName + '] SET RECOVERY BULK_LOGGED;';
   ELSE
       SET @Sql = 'ALTER DATABASE [' + @DatabaseName + '] SET RECOVERY SIMPLE;';

   PRINT 'Reverting Recovery Model: ' + @Sql;
   EXEC(@Sql);

   FETCH NEXT FROM DatabaseCursor INTO @DatabaseName;
END;

CLOSE DatabaseCursor;
DEALLOCATE DatabaseCursor;

Das Script liest den aktuellen Recovery Modus der Datenbank aus, stellt diesen auf SIMPLE um, verkleinert die Transaktionsprotokolle und stellt den Recovery Modus wieder auf den ursprünglichen Eintrag zurück.
ESXi Fehler hostd performance und Bootbank cannot be found at path '/bootbank'
Ticket einfach per Mail erstellen