Einige interessante Vorschläge, die alle ein Missverständnis hinsichtlich der Funktionsweise von Protokollsicherungen aufzeigen. Eine Protokollsicherung enthält ALLE Transaktionsprotokolle, die seit der vorherigen Protokollsicherung erstellt wurden, unabhängig davon, welche vollständigen oder differenziellen Sicherungen in der Zwischenzeit durchgeführt wurden. Das Stoppen von Protokollsicherungen oder das Wechseln zu täglichen vollständigen Sicherungen hat keine Auswirkungen auf die Größe der Protokollsicherungen. Das einzige, was sich auf das Transaktionsprotokoll auswirkt, ist eine Protokollsicherung, sobald die Protokollsicherungskette gestartet wurde.
Die einzige Ausnahme von dieser Regel besteht darin, dass die Protokollsicherungskette unterbrochen wurde (z. B. durch Aufrufen des SIMPLE-Wiederherstellungsmodells, Zurücksetzen von einem Datenbank-Snapshot, Abschneiden des Protokolls mit BACKUP LOG WITH NO_LOG / TRUNCATE_ONLY). In diesem Fall erfolgt die erste Protokollsicherung Enthält das gesamte Transaktionsprotokoll seit der letzten vollständigen Sicherung, wodurch die Protokollsicherungskette neu gestartet wird. oder wenn die Protokollsicherungskette noch nicht gestartet wurde - wenn Sie zum ersten Mal auf FULL umschalten, arbeiten Sie in einer Art Pseudo-SIMPLE-Wiederherstellungsmodell, bis die erste vollständige Sicherung durchgeführt wird.
Um Ihre ursprüngliche Frage zu beantworten, müssen Sie, ohne in das SIMPLE-Wiederherstellungsmodell einzusteigen, das gesamte Transaktionsprotokoll sichern. Abhängig von den von Ihnen ausgeführten Aktionen können Sie häufigere Protokollsicherungen durchführen, um deren Größe zu verringern, oder eine gezieltere Datenbank erstellen.
Wenn Sie Informationen zu den Wartungsoperationen veröffentlichen können, die Sie ausführen, kann ich Sie bei der Optimierung unterstützen. Führen Sie zufällig Indexwiederherstellungen durch, gefolgt von einer verkleinerten Datenbank, um den von den Indexwiederherstellungen verwendeten Speicherplatz wiederzugewinnen?
Wenn Sie während der Wartung keine andere Aktivität in der Datenbank haben, können Sie Folgendes tun:
- Stellen Sie sicher, dass die Benutzeraktivität gestoppt ist
- Führen Sie eine letzte Protokollsicherung durch (damit können Sie bis zum Beginn der Wartung eine Wiederherstellung durchführen).
- Wechseln Sie zum Wiederherstellungsmodell SIMPLE
- Wartung durchführen - das Protokoll wird an jedem Prüfpunkt abgeschnitten
- Wechseln Sie zum vollständigen Wiederherstellungsmodell und erstellen Sie eine vollständige Sicherung
- weiter wie gewohnt
Hoffe das hilft - freue mich auf mehr Infos.
Vielen Dank
[Bearbeiten: Nach all den Diskussionen darüber, ob ein vollständiges Backup die Größe eines nachfolgenden Log-Backups verändern kann (kann es nicht), habe ich einen umfassenden Blog-Beitrag mit Hintergrundmaterial und einem Skript zusammengestellt, das dies beweist. Schau es dir an unter https://www.sqlskills.com/blogs/paul/misconceptions-around-the-log-and-log-backups-show-to-convince-yourself/]