Ein seltener Fehler und eine Lösung für die vollständige SQL Server-Sicherung

Ein seltener Fehler und eine Lösung für die vollständige SQL Server-Sicherung

1. Fehlerdetails

Als ich einmal manuell eine vollständige Datenbanksicherung durchführte, trat der folgende Fehler auf:

Diese Fehlermeldung erscheint bei mehrmaliger Ausführung.

Aufgrund unzureichender Systemressourcen (wie etwa Festplatten- oder Speicherplatz) oder manchmal aufgrund einer Datenbankbeschädigung kann kein Prüfpunkt generiert werden.

Wir prüfen die Datenbankressourcen, um unzureichende Festplattenressourcen auszuschließen.

2. Checkpoint-bezogenes Wissen

Die Beziehung zwischen Transaktionsprotokollen, Datendateien und Prüfpunkten.

In SQL Server werden die Daten beim Einfügen, Aktualisieren oder Löschen nicht direkt in die der Datenbank entsprechende MDF-Datei geschrieben, sondern in den Cache. Zu diesem Zeitpunkt müssen wir einen sehr wichtigen Mechanismus erwähnen: CheckPoint, der hauptsächlich zum Schreiben der Daten im Cache in die MDF-Datei verwendet wird.

Dies kann durch das folgende klassische Diagramm veranschaulicht werden:

3. Ereignisse, die CheckPoint auslösen

1. Bevor eine Datenbank gesichert wird, führt die Datenbank-Engine automatisch einen Checkpoint durch, sodass alle Änderungen an den Datenbankseiten in die Sicherung einbezogen werden.

2. Der aktive Teil des Protokolls überschreitet die Größe, die der Server innerhalb der in der Serverkonfigurationsoption „Wiederherstellungsintervall“ angegebenen Zeit wiederherstellen kann.

3. Das Protokoll ist zu 70 % voll und die Datenbank befindet sich im Protokollkürzungsmodus.

4. Durch das Stoppen des Servers wird auch ein Checkpoint-Befehl in jeder Datenbank auf dem Server ausgegeben.

4. Manuelles Durchführen von Checkpoints

Daher wird dieser Fehler höchstwahrscheinlich durch ein Prüfpunktproblem während der Sicherung verursacht, sodass wir manuell einen Prüfpunkt durchführen.

Normalerweise müssen wir den Checkpoint-Befehl selten manuell ausführen. Die Syntax von Checkpoint lautet: CHECKPOINT[Checkpoint_Duration], wobei Checkpoint_Duration die Anzahl der Sekunden ist, die zum Abschließen des Checkpoints erforderlich sind. Normalerweise geben wir den Wert „checkpoint_duration“ nicht an, sondern verwenden die von der Datenbank automatisch angepasste Checkpoint-Dauer, um die Auswirkungen auf die Leistung der Datenbank zu verringern. Wenn die Datenbank einen Checkpoint ausführt, wirken sich die Anzahl der schmutzigen Seiten, die aktiven Transaktionen, die Daten ändern, und die angegebene tatsächliche Dauer von checkpoint_duration auf die Ressourcenzuweisung aus. Angenommen, der Wert von checkpoint_duration beträgt 50 Sekunden und normalerweise dauert es 150 Sekunden, um diesen Vorgang abzuschließen. Um die angegebene checkpoint_duration von 50 Sekunden einzuhalten, weist die Datenbank der Anweisung mehr Ressourcen zu als normal, was sich unter normalen Umständen auf die Ressourcennutzung anderer Vorgänge auswirkt. 5. Wirkungsüberprüfung

Führen Sie den Prüfpunkt aus.

juhu

Zusammenfassen

Das Obige ist ein ungewöhnlicher Fehler und eine Lösung, die bei der vollständigen SQL Server-Sicherung aufgetreten ist und vom Herausgeber eingeführt wurde. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten!

Das könnte Sie auch interessieren:
  • SQL Server 2008 komprimierte Backup-Datenbank (20 GB)
  • Drei Strategien und Anweisungen für die SQL SERVER-Datenbanksicherung
  • Details und Vorsichtsmaßnahmen zur Sicherung von SQL Server-Datenbanken
  • Sichern und Wiederherstellen von SqlServer-Daten von einer höheren Version auf eine niedrigere Version
  • Die Datenbanksicherung im SQL Server 2012-Sicherungssatz unterscheidet sich von der vorhandenen xxx-Datenbank
  • SQL Server 2008 und spätere Versionen Datenbankwiederherstellungsmethode Protokoll-Tail-Backup
  • Schnelles Wiederherstellen und Sichern einer SQL Server-Datenbank

<<:  Docker-Kern und spezifische Verwendung der Installation

>>:  Lösung für das Problem, dass die Audiokomponente des WeChat-Applets unter iOS nicht abgespielt werden kann.

Artikel empfehlen

js um das Schlangenspiel mit Kommentaren zu implementieren

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie display:olck/none zum Erstellen einer Menüleiste

Die Auswirkung der Vervollständigung einer Menüle...

Erläuterung der Truncate Table-Verwendung

TRUNCATE-TABELLE Löscht alle Zeilen in einer Tabe...

Erfahren Sie, wie Sie Nginx schnell in CentOS7 installieren

Inhaltsverzeichnis 1. Übersicht 2. Laden Sie das ...

Analyse des kumulativen Aggregationsprinzips von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

CSS verwendet die BEM-Namenskonvention

Welche Informationen möchten Sie erhalten, wenn S...

JS-Implementierung eines Karussellbeispiels

In diesem Artikel wird der spezifische JS-Code zu...

Zabbix überwacht die Konfiguration der Docker-Anwendung

Der Einsatz von Containern kommt immer häufiger v...

JavaScript-Sandbox-Erkundung

Inhaltsverzeichnis 1. Szenario 2. Grundfunktionen...

Mehrere Möglichkeiten zum Hinzufügen von Zeitstempeln in MySQL-Tabellen

Szenario: Die Daten in einer Tabelle müssen mithi...