MODIFY FILE failed. Size is greater than MAXSIZE. (Microsoft SQL Server, Error: 5040)
Sofern versucht wird, in den Datenbank-Eigenschaften die maximale Dateigröße des Transaktionslogs auf einen Wert kleiner als die tatsächliche Dateigröße zu setzen wird dies vom SQL-Server mit einem
MODIFY FILE failed. Size is greater than MAXSIZE.
(Microsoft SQL Server, Error: 5040)
quittiert. Erste Suchergebnisse führen in der Regel zu Lösungsvorschlägen unter Verwendung des Befehls “backup log [DATENBANKNAME] with truncate_only”, welche von neueren Versionen des Microsoft SQL-Servers (2008 und später) mit der Fehlermeldung “’truncate_only’ is not a recognized BACKUP option.” quittiert werden.
Stattdessen muss zur Anpassung der Dateigröße das Recovery-Modell geändert werden. Hierzu wird zuerst das aktuell verwendete Modell ermittelt
SELECT name, recovery_model_desc FROM sys.databases
GO
dann wird im nächsten Schritt das Modell auf “Simple” geändert:
ALTER DATABASE [DATENBANKNAME]
SET RECOVERY SIMPLE;
GO
Nach Ermittlung der anzupassenden Datei
SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;
kann dann mittels
DBCC SHRINKFILE ('LOGDATEINAME', GROESSEINMB);
GO
die Datei auf den gewünschten Wert verkleinert werden.
Als letzter Schritt sollte dann das Recovery-Modell wieder auf den Ausgangswert (i.d.R ‘FULL’) zurückgesetzt werden :
ALTER DATABASE [DATENBANKNAME]
SET RECOVERY FULL;
GO