Verkleinern einer Datenbank mit MSSQL-Server

Aus GEVITAS
Version vom 20. März 2013, 21:27 Uhr von Gevitas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Allgemeines == Der Microsoft©SQL-Server© speichert alle Änderungen der Datenbank in einer "Log-Datei", damit die Änderungen jederzeit wieder r…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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":

SQL-Server Datenbank Optionen WiederherstModell.jpg

Stellen Sie hier das einfache Wiederherstellungsmodell ein!


1.2.2 Datei verkleinern