Ich habe gerade eine Menge MSDN-Dokumentation gelesen und denke, ich verstehe die verschiedenen Wiederherstellungsmodelle und das Konzept einer Sicherungskette. Ich habe noch eine Frage:
Verkürzt eine vollständige Datenbanksicherung das Transaktionsprotokoll (im vollständigen Wiederherstellungsmodus)?
Wenn ja: Wo steht das in der MSDN? Ich konnte nur feststellen, dass nur BACKUP LOG das Protokoll abschneidet.
Wenn nein, warum? Da mit einer vollständigen Datenbanksicherung eine neue Sicherungskette gestartet wird, welchen Sinn hat es, die Transaktionen, die vor der vollständigen Sicherung abgeschlossen wurden, im Protokoll aktiv zu halten?
quelle
Bei einer vollständigen Sicherung wird das Protokoll NICHT gekürzt. Sie müssen eine Sicherungsprotokolloperation ausführen. Bei einer vollständigen Sicherung wird die Protokollkette NICHT zurückgesetzt - dies würde die Replikation / den Protokollversand usw. völlig vermasseln.
Sie müssen sich genau ansehen, wie SQL Server Sicherungen durchführt, müssen jedoch wissen, dass während des Flugs ausgeführte / lange laufende Transaktionen nicht in der Sicherung enthalten sind (andernfalls wird die Sicherung möglicherweise nie abgeschlossen) Online-Datenbank macht garantiert die nächste Log-Sicherung überflüssig.
http://msdn.microsoft.com/en-us/library/ms175477.aspx
quelle
Nach meinem Verständnis ist das einzige, was das Transaktionsprotokoll abschneidet, eine Protokollsicherung .
Bei einer vollständigen Sicherung wird nur so viel Protokoll kopiert, dass es transaktionskonsistent ist, da der Sicherungsvorgang einige Zeit in Anspruch nimmt. In dieser Zeit haben sich möglicherweise die kopierten Seiten geändert.
Sie benötigen weiterhin Ihre Protokollsicherungen für die Wiederherstellung zu einem bestimmten Zeitpunkt.
Ich habe keinen MSDN, zu dem ein Link erstellt werden kann, aber ich kann Sie mit dem Blog von Paul Randal verknüpfen , der als Entwickler im SQL Server-Team DBCC CHECKDB und Teile der Onlinedokumentation geschrieben hat.
Er beantwortet auch Fragen in diesem Forum, so dass das eine noch bessere Autorität wäre als Informationen aus zweiter / dritter Hand von mir :)
quelle
Menschen haben oft ein Missverständnis über die vollständige Sicherung und Protokollsicherungen. Damit das Backup im
FULL
Backup-Wiederherstellungsmodell funktioniert , müssen die T-Logs verwendet werden, da während der Backups möglicherweise noch Transaktionen in der Datenbank ausgeführt werden (es sei denn, Sie führenCOLD
beim Herunterfahren der Datenbank ein sogenanntes Backup durch). Oracle verwendet dasselbe Konzept, wenn sich eine Datenbank imARCHIVELOG
Modus befindet. Die Reihenfolge eines Backups läuft folgendermaßen ab:Dies ist der Grund, warum T-Logs nicht standardmäßig abgeschnitten / verkleinert werden, da sie ein wesentlicher Bestandteil der Transaktionsfortsetzung während der Sicherungsphase sind.
quelle
Verwechseln Sie das Kürzen des Protokolls nicht mit dem Verkleinern des Protokolls.
TRUNCATE bedeutet, die Transaktionen im Protokoll zu entfernen, die vor dem letzten Prüfpunkt liegen (der Prüfpunkt ist, wenn Transaktionen in die Datenbank selbst geschrieben werden). Dies erfolgt mit dem Befehl BACKUP.
Mit SHRINK wird die tatsächliche Größe der Protokolldatei verringert. Dies geschieht mit DBCC-Befehlen.
quelle
Grundsätzlich müssen Sie das Transaktionsprotokoll nicht jedes Mal automatisch verkleinern, da Transaktionsprotokolle Speicherplatz benötigen. Wenn Sie das Protokoll automatisch kürzen, bleibt die Größe nahezu gleich.
quelle