Verkleinern einer Datenbank mit MSSQL-Server
Inhaltsverzeichnis
1 Allgemeines
Der Microsoft©SQL-Server© speichert alle Änderungen der Datenbank in einer "Log-Datei", damit die Änderungen jederzeit wieder rückgängig gemacht werden können. Das ist im Prinzip eine feine Sache, hat jedoch u.U. einen Nachteil:
Je nach Einstellung wird die Log-Datei immer größer und größer! Mit der Zeit kann es sein, dass die Datenbank-Datei z.B. 2 GB groß ist, die Log-Datei aber 20 GB! Das belastet den Server unnötig und verlangsamt auch die Zugriffe auf die Daten teilweise extrem!
1.1 Verkleinern per SQL-Script
Verwenden Sie dieses SQL-Script, um die Datenbank-Logdatei zu verkleinern:
-- ------------------------------------------------------------------------ -- Dieser Script stellt die Datenbank "reflex" auf das einfache -- Transaktionsprotokoll um. Damit wächst die Log-Datei nicht mehr -- ins Unendliche, wenn man kein regelmässiges SQL-Backup durchführt. -- ------------------------------------------------------------------------ USE [master] GO ALTER DATABASE [REFLEX] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [REFLEX] SET RECOVERY SIMPLE GO -- ------------------------------------------------------------------------ -- Dieser Script verkleinert die Log-Datei auf 10 MB -- ------------------------------------------------------------------------ USE [reflex] GO DBCC SHRINKFILE (N'REFLEX_Log' , 10) GO
Wichtige Hinweise dazu:
- Dieser Script geht davon aus, dass den Name der Datenbank "REFLEX" lautet! Wenn Ihre Datenbank anders heißt, müssen Sie statt "REFLEX" Ihren Datenbank-Namen verwenden!
1.2 Verkleinern mit dem SQL Server Management Studio©
Man die Log-Datei auch mit dem SQL Server Management Studio© verkleinern.
Öffnen Sie das das SQL Server Management Studio© und melden Sie sich mit einem Benutzer an, der SQL-Administrator-Rechte hat! Dann klicken Sie im Baum links mit der rechten Maustaste auf die Datenbank und wählen aus dem Menü "Eigenschaften" aus.
1.2.1 Wiederherstellungsmodell prüfen/ändern
Zuerst müssen Sie das sog. "Wiederherstellungsmodell" prüfen und ggf. ändern.
Das Wiederherstellungsmodell ist eine Option, mit der festgelegt wird, wie die Log-Datei behandelt wird:
Vollständig bedeutet, dass alle Änderungen der Datenbank ohne zeitliche oder größenmäßige Einschränkung protokolliert werden! Das ist unnötig und führt zu einer übermäßigen Dateigröße der Log-Datei.
Einfach heißt, dass die Protokolldatei nur zu einer bestimmte Größe erreichen kann und die ältesten Daten gelöscht werden, wenn die Größe erreicht ist. Dieses ist die empfohlene Option!
Siehe auch [1]
Zum Anzeigen/ändern des Wiederherstellungsmodells klicken Sie im Eigenschafts-Menü auf das Register "Optionen":
Stellen Sie hier das einfache Wiederherstellungsmodell ein! Bestätigen Sie die Option mit OK.
1.2.2 Datei verkleinern
Klicken Sie im Baum links mit der rechten Maustaste auf die Datenbank und wählen aus dem Menü "Eigenschaften" aus. Wählen Sie das Register "Dateien" aus:
Hier werden die Informationen zu den Datenbank-Dateien angezeigt. In diesem Beispiel sehen Sie, um wieviel größer eine Logdatei ist (25318 MB) als die eigentliche Datenbank-Datei (2822 MB), mehr als 10 mal so groß!