Logdateien mit DBCC SHRINKFILE verkleinern

Es kann manchmal vorkommen, dass die Logfiles einer Datenbank aus welchen Gründen auch immer extrem groß wird. Um diese Logfiles wieder kleiner zu bekommen kann man folgendes Script benutzen:

USE MeineDatenbank
BACKUP LOG MeineDatenbank TO DISK = 'C:\Backup.bak'
DBCC SHRINKFILE (MeineDatenbank_log, 1)
GO

Zunächst legen wir die Datenbank fest, welche wir verwenden wollen. Anschließend erstellen wir ein Backup der Logdatei. Intern werden die gesicherten Datensätze als gespeichert gekennzeichnet.

DBCC SHRINKFILE schreibt nun alle gesicherten Datensätze in die Datenbank und löscht die gesicherten Datensätze aus der Logfile heraus und verkleinert die Datei auf diese Weise.

Ich habe die Erfahrung gemacht, dass man das Script öfter durchlaufen lassen muss, bis der gewünschte Effekt eintritt. Zumindest der Teil mit dem DBCC SHRINKFILE.

Als *.sql Datei gespeichert hilft es einem nun wann immer man es benötigt.

So long…

About Jonathan Pfeifer

Der Autor beschäftigt sich mit .Net, SharePoint und der SQL Server Technologie von Microsoft. Einige seiner Eindrücke werden in diesem Blog festgehalten. Für Fragen oder Anregungen steht er gerne per Email zur Verfügung.
This entry was posted in work-related and tagged , , . Bookmark the permalink.

2 Responses to Logdateien mit DBCC SHRINKFILE verkleinern

  1. Alex says:

    Versuchs mal ohne den File zwischenzuspeichern :

    USE MeineDatenbank

    BACKUP LOG MeineDatenbank WITH TRUNCATE_ONLY

    DBCC SHRINKFILE (MeineDatenbank_log, 0)

    GO

    Grüsse Alex

  2. Hi Alex,

    vielen Dank für den Tipp. Werd ich mal so versuchen.

    Gruß

    Johnny

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>