
Eine meiner Datenbanken hat ein Problem mit dem Auffüllen des Transaktionsprotokolls. Sie ist auf vollständige Wiederherstellung eingestellt und wird regelmäßig über den Wartungsplan gesichert. Ich führe jedes Wochenende eine vollständige Datenbanksicherung durch, dann täglich differenzielle Sicherungen unter der Woche und jede Stunde eine Sicherung des Transaktionsprotokolls. Ich habe den Status der Protokollkürzung überprüft und der aktuelle Status ist LOG_BACKUP. Ich kann es mit einer On-Demand-Sicherung löschen, aber warum wird es nicht mit dem Wartungsplan gelöscht?
Was vermisse ich?
Antwort1
Wenn Ihre Datenbank viele Transaktionen enthält, müssen Sie Ihre Transaktionsprotokolle möglicherweise häufiger als stündlich sichern. Alle 15 Minuten ist nicht ungewöhnlich. Ich würde vorschlagen, den Wartungsauftrag zu bearbeiten, um Protokollsicherungen häufiger auszuführen.
Verfügt die .ldf-Datei außerdem über genügend Speicherplatz? Wenn das Wachstum der physischen Datei verhindert wird, reicht der Speicherplatz auch bei Kürzung nicht aus.
Antwort2
Einige Faktoren haben Einfluss darauf, ob das Transaktionsprotokoll von SQL Server als „voll“ angezeigt wird oder erweitert werden muss:
- Transaktionen mit langer Laufzeit
- Häufigkeit von Protokollsicherungen im vollständig oder massenprotokollierten Wiederherstellungsmodell
- Anzahl und Größe der virtuellen Protokolldateien (vlfs) im Transaktionsprotokoll
Jes Schultz Borland hat ein kostenloses Video, in dem sie die Funktionsweise viel ausführlicher beschreibt. Es klingt, als würde es Ihnen weiterhelfen:http://www.brentozar.com/archive/2012/09/how-sql-server-works-log-file-video/
Wenn es wichtig ist, Datenverlust zu vermeiden, führen Sie alleeinsMinute ist nicht ungewöhnlich. Es geht darum, wie viele Daten man im schlimmsten Fall verlieren kann.
Antwort3
Ja. Passiert, wenn Sie nie ein Backup erstellen. Ähnlich wie der Tank Ihres Autos leer wird, wenn Sie nie Ihre Arbeit machen und ihn auffüllen.
Transaktionsprotokolle sollten nach einer vollständigen oder inkrementellen Sicherung gelöscht werden. Wenn Sie keine Sicherungen erstellen, setzen Sie das Datenbankmodell auf „Einfach“.
Wenn Sie regelmäßig Vollsicherungen durchführen, dann hat offensichtlich jemand nicht gewusst, wie das geht und vergessen, das Löschen des Transaktionsprotokolls in die Reihenfolge einzubauen. Der Wartungsplan bietet dafür eine Einstellung.
DAS HEISST: Wenn Sie etwas wie eine Replikation ausführen, kann das das Protokoll blockieren, wenn Sie in Rückstand geraten.