Ich kann die Antwort nicht herausfinden. Ich habe mehrere Antworten wie diese gesehen: Warum wächst das Transaktionsprotokoll weiter oder der Speicherplatz geht zur Neige?
und alle reden davon, Backups in Ihrer Protokolldatei auszuführen, damit diese kleiner wird. Ich mache das, aber es schrumpft nichts! Ich glaube auch nicht, dass ich super lange Transaktionen durchführe.
Server: SQL Server 2008
Wiederherstellungsmodus: Full
Ich habe einen Wartungsplan, um Backups im Wert von 5 Tagen zu speichern. Aufgabe 1 sichert die Datenbanken mit dem Sicherungstyp Full
, Aufgabe 2 sichert Transaktionsprotokolle. Verify backup integrity
wird bei beiden Aufgaben überprüft.
Die normale .ldf
Datei meiner Datenbank ist 22 GB. Wenn ich die obige Aufgabe .bak
ausführe, ist die .trn.
Datei 435 MB groß, aber die Datei ist 22 GB groß, genau wie die PDF-Datei. Und nach erfolgreichem Ausführen .ldf
schrumpft das überhaupt nicht, trotz allem, was ich gelesen habe, dass es sollte?
Was ist hier los und warum wird die Protokolldatei nie kleiner?
Ich habe auch versucht, diesen Befehl auszuführen, wie in einer anderen Antwort erwähnt:
select name, log_reuse_wait_desc
from sys.databases
Und es heißt LOG_BACKUP
für die Datenbank mit der riesigen Protokolldatei.
Aufgrund einer Antwort unten verwechsle ich den zugewiesenen Platz. Dies sind meine Statistiken für:
Aus Gründen, aus denen ich keine Ahnung habe, warum, wurde die anfängliche Größe auf 22 GB festgelegt ...
quelle
everyone talks about running back ups on your log file so it shrinks down
- Nein, das sagt niemand, und Protokollsicherungen werden eine Datei niemals verkleinern. Sie sagen, dass das häufige Ausführen von Backups dazu beitragen sollte, das Wachstum zu verhindern, da der Speicherplatz im Inneren nach dem Sichern wiederverwendet werden kann. Manchmal wird der Protokollspeicher schneller verwendet, als Ihre Sicherungen ausgeführt werden. Wenn dies häufig vorkommt, ist es sinnlos, nur zu schrumpfen, um wieder zu wachsen. Lassen Sie sie einfach groß. Wenn dies auf ein bekanntes, abnormales Ereignis zurückzuführen ist und Sie etwas eingerichtet haben, um zu verhindern, dass es erneut auftritt, ist dies ungefähr das einzige Mal, dass ich ein Schrumpfen befürworte.Antworten:
Sie verwechseln zugewiesenen Speicherplatz mit verwendetem Speicherplatz. Verwenden Sie nach dem Ausführen der Sicherung diese Abfrage, um den Unterschied zwischen zugewiesenem und verwendetem Speicherplatz festzustellen.
Sie können die GUI verwenden, um die Protokolldatei zu verkleinern, indem Sie die 'Anfangsgröße' ändern.
Wenn Sie Probleme haben, das Protokoll zu verkleinern, auch wenn es größtenteils leer aussieht, lesen Sie meinen Beitrag hier
quelle
Durch diese Sicherung werden nur die Daten gesichert und das Protokoll gelöscht. Die tatsächliche Größe des Protokolls muss über einen
DBCC
Befehl verkleinert werden, wenn Sie das Protokoll wirklich verkleinern müssen. Abhängig davon, wie oft Sie Ihre Protokolldatei sichern, wird sie wahrscheinlich wieder wachsen.Führen Sie dies aus, um festzustellen, wie viel Speicherplatz in Ihrem Protokoll tatsächlich belegt ist.
Wenn tatsächlich viel freier Speicherplatz verfügbar ist, können Sie den
DBCC SHRINKFILE
Befehl ausführen, um Ihre Protokolldatei auf die Größe zu bringen, die Sie für erforderlich halten.Bearbeiten: Möglicherweise möchten Sie auch überprüfen, ob
DBCC LOGINFO;
alle von Ihrer Transaktionsprotokolldatei verwendeten Elemente angezeigt werden, da sie den Status zwei haben.Es ist jedoch wahrscheinlich, dass die Aktivität, die dazu geführt hat, dass Ihre Protokolldatei überhaupt wächst, weiterhin auftritt. Nach den Geräuschen von denkt, Sie erstellen nur eine Protokollsicherung pro Tag.
Sie sollten den ganzen Tag über mehrere Protokollsicherungen zwischen Ihren vollständigen Datenbanksicherungen durchführen. Ich würde wahrscheinlich empfehlen, mit stündlich zu beginnen und sich anzupassen, um letztendlich zu sehen, was für Sie am besten funktioniert. Sie können dies entweder über Wartungspläne fortsetzen, wenn dies für Sie angenehm ist. Andere weisen könnten Sie Ola Hallengren des Skripts einen Wartungsplan einzurichten. Es gibt viele verschiedene Optionen, und zum größten Teil sind sie alle ziemlich gut, solange Sie häufige Backups erstellen.
quelle