So verkleinern Sie eine 40-GB-LOG-Datei


7

Ich habe ein Problem, bei dem meine Protokolldatei in SQL Server 2008 auf 40 GB angewachsen ist, und ich wollte sie verkleinern. Die Abfrage, die ich verwende, ist

    ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
use DatabaseName
GO
CHECKPOINT
GO
DBCC SHRINKFILE(transactionloglogicalfilename,TRUNCATEONLY)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL

verkleinert die Protokolldatei nicht auf einer höheren Ebene und auch die verkleinerte Protokolldatei wird nur in kurzer Zeit sofort erweitert.

Wo liegt also das Problem?

Ich wollte die Protokolldatei auf 1 GB verkleinern und meine Datenbankgröße beträgt 16 GB

Ich habe SQL Server 2008 R2

Bitte hilft mir jemand

Antworten:


10

Gehen Sie in Management Studio und klicken Sie mit der rechten Maustaste auf die Datenbank. Aufgaben> Verkleinern> Dateien.

Wählen Sie unter Dateityp die Protokolldatei aus. Stellen Sie sicher, dass Nicht verkleinerter Speicherplatz als Verkleinerungsaktion freigeben ausgewählt ist, und klicken Sie auf OK.

Die verkleinerte Protokolldatei wächst schnell wieder. Dies liegt wahrscheinlich daran, dass Sie auf ein vollständiges Wiederherstellungsmodell eingestellt sind. Wenn Sie es auf einfach setzen, werden Änderungen sofort festgeschrieben und nicht im Protokoll gespeichert. Einfach ist nur dann gut, wenn Sie regelmäßig vollständige Sicherungen durchführen.


5

Wenn Sie ein weiteres Wachstum verhindern möchten, müssen Sie die Datenbankprotokollierung auf einfach einstellen (jedoch nur, wenn Sie vollständige Sicherungen Ihrer Datenbank durchführen!).

  1. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank
  2. Wählen Sie Eigenschaften
  3. Wählen Sie Optionen
  4. Stellen Sie den Wiederherstellungsmodus auf einfach

Dies funktioniert und ist am besten, wenn Ihr Sicherungszeitplan jeden Tag eine vollständige Sicherung ist . Denn in einem solchen Szenario wird Ihr Protokoll nicht gekürzt und es wird in die Höhe schnellen.

Wenn Sie die Backup-Technik von Grandfather & Father & Son verwenden würden. Dies bedeutet monatliche vollständige Sicherung , wöchentliche vollständige Sicherung und dann jeden Tag inkrementelle Sicherung . Dann benötigen Sie dafür den vollständigen Wiederherstellungsmodus . Wenn Sie also Ihre Datenbank auf Vollständige Sicherung einstellen, müssen Sie entweder damit aufhören und die Sicherung in den einfachen Wiederherstellungsmodus wechseln oder mit der korrekten Sicherung beginnen, und Ihr Protokoll wird durch Sicherungen gekürzt.

In Ihrem Fall, in dem Sie es auf einfach und dann auf voll umstellen, werden Ihre Protokolle wieder größer.

Kombinieren Sie dies mit dem DanBig-Vorschlag, die Datenbank zu verkleinern, indem Sie die folgenden Schritte ausführen:

  1. Öffnen Sie SQL Management Studio
  2. Klicken Sie mit der rechten Maustaste auf die Datenbank, Aufgaben> Verkleinern> Dateien.
  3. Wählen Sie unter Dateityp die Protokolldatei aus. Stellen Sie sicher, dass Sie die Option Release unused spaceals Verkleinerungsaktion markieren , und klicken Sie auf OK.

Vielen Dank. Hatte das gleiche Problem. Das Ändern des Wiederherstellungsmodells in "Einfach" und "Verkleinern" funktioniert wie ein Zauber.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.