Mögliche Medienfehler beim Sichern und Wiederherstellen (SQL Server)

Gilt für:SQL Server

In SQL Server haben Sie die Möglichkeit, trotz erkannter Fehler eine Datenbank wiederherzustellen. Ein wichtiger neuer Fehlererkennungsmechanismus ist die optionale Erstellung einer Sicherungsprüfsumme, die von einem Sicherungsvorgang erstellt und von einem Wiederherstellungsvorgang überprüft wird. Sie können steuern, ob vom Vorgang auf Fehler geprüft wird, und ob der Vorgang beim Auftreten eines Fehlers beendet oder fortgesetzt wird. Wenn eine Sicherung eine Sicherungsprüfsumme enthält und RESTORERESTORERESTORE VERIFYONLY Anweisungen auf Fehler überprüfen können.

Hinweis

Gespiegelte Sicherungen bieten bis zu fünf Kopien (Spiegel) eines Mediensatzes, womit alternative Kopien für die Wiederherstellung zur Verfügung gestellt werden, die durch beschädigte Medien ausgelöst wurden. Weitere Informationen finden Sie unter Gespiegelte Sicherungsmediensätze (SQL Server).

Sicherungsprüfsummen

SQL Server unterstützt drei Prüfsummentypen: eine Prüfsumme auf Seiten, eine Prüfsumme in Protokollblöcken und eine Sicherungsprüfsumme. Bei der Generierung einer Sicherungsprüfsumme wird überprüft, BACKUP ob die aus der Datenbank gelesenen Daten mit allen Prüfsummen- oder Tornseitenanzeigen konsistent sind, die in der Datenbank vorhanden sind.

Die BACKUP Anweisung berechnet optional eine Sicherungsprüfsumme für den Sicherungsdatenstrom. Wenn Seitenchecksummen- oder Tornseiteninformationen auf einer bestimmten Seite vorhanden sind, überprüft auch beim Sichern der Seite BACKUP die Prüfsumme und den Seitenstatus und die Seiten-ID der Seite. Beim Erstellen einer Sicherungsprüfsumme werden von Sicherungsvorgängen keine Prüfsummen zu Seiten hinzugefügt. Seiten werden so gesichert, wie sie in der Datenbank vorgefunden werden, und bleiben durch die Sicherung unverändert.

Wegen des Verwaltungsaufwands für das Überprüfen und Generieren von Prüfsummen stellen Sicherungsprüfsummen die potenzielle Gefahr einer Leistungseinbuße dar. Sowohl die Arbeitsauslastung als auch der Sicherungsdurchsatz können davon betroffen sein. Deshalb ist die Verwendung von Sicherungsprüfsummen optional. Wenn Sie sich für das Generieren von Prüfsummen während einer Sicherung entscheiden, behalten Sie den dadurch hervorgerufenen CPU-Verwaltungsaufwand genauso im Auge wie die Auswirkungen auf nebenläufige Arbeitsauslastungen für das System.

BACKUP ändert niemals die Quellseite auf dem Datenträger oder den Inhalt einer Seite.

Wenn Sicherungsprüfsummen aktiviert werden, führt ein Sicherungsvorgang die folgenden Schritte aus:

  1. Vor dem Schreiben einer Seite auf das Sicherungsmedium werden vom Sicherungsvorgang die Informationen auf Seitenebene überprüft (Seitenprüfsumme oder Erkennen zerrissener Seiten), soweit vorhanden. Wenn keines vorhanden ist, kann die Seite nicht von der Sicherung überprüft werden. Nicht überprüfte Seiten werden unverändert übernommen. Der Inhalt wird zur Gesamtsicherungsprüfsumme hinzugefügt.

    Wenn vom Sicherungsvorgang während der Überprüfung ein Seitenfehler festgestellt wird, tritt bei der Sicherung ein Fehler auf.

    Hinweis

    Weitere Informationen zu Seitenprüfsummen und zur Erkennung von Blättern finden Sie in der option PAGE_VERIFY der ALTER DATABASE Anweisung. Weitere Informationen finden Sie unter ALTER DATABASE SET "Optionen(Transact-SQL)".

  2. Unabhängig davon, ob Seitenprüfsummen vorhanden sind, BACKUP wird eine separate Sicherungsprüfsumme für die Sicherungsdatenströme generiert. Bei den Wiederherstellungsvorgängen kann optional die Sicherungsprüfsumme verwendet werden, um zu überprüfen, ob die Sicherung beschädigt ist. Die Sicherungsprüfsumme wird auf den Sicherungsmedien gespeichert, nicht in den Datenbankseiten. Die Sicherungsprüfsumme kann bei der Wiederherstellung optional verwendet werden.

  3. Der Sicherungssatz erhält die Markierung, dass er Sicherungsprüfsummen enthält (in der has_backup_checksums -Spalte von msdb..backupset). Weitere Informationen finden Sie unter backupset (Transact-SQL).

Wenn Sicherungsprüfsummen während eines Wiederherstellungsvorgangs auf dem Sicherungsmedium vorhanden sind, überprüfen standardmäßig sowohl die Sicherungsprüfsummen als auch die RESTORERESTORERESTORE VERIFYONLY Anweisungen die Prüfsummen und Seitenprüfsummen. Wenn keine Sicherungsprüfsummen vorhanden sind, werden beide Wiederherstellungsvorgänge ohne Überprüfung fortgesetzt, weil ohne Sicherungsprüfsumme vom Wiederherstellungsvorgang keine Seitenprüfsummen verlässlich überprüft werden können.

Antwort auf Fehler bei der Seitenprüfsumme während einer Sicherung oder eines Wiederherstellungsvorgangs

Nach dem Auftreten eines Seitenprüfsummenfehlers tritt standardmäßig ein BACKUP Fehler auf RESTORE , und ein RESTORERESTORE VERIFYONLY Vorgang wird fortgesetzt. Sie können jedoch steuern, ob ein angegebener Vorgang fehlerhaft ist, wenn ein Fehler gefunden wird, oder ob er weiterhin so gut wie möglich fortgesetzt wird.

Wenn ein BACKUP Vorgang nach auftretenden Fehlern fortgesetzt wird, führt der Vorgang die folgenden Schritte aus:

  1. Der Sicherungssatz auf dem Sicherungsmedium wird als fehlerhaft markiert, und die Seite wird in der suspect_pages -Tabelle in der msdb -Datenbank nachverfolgt. Weitere Informationen finden Sie unter suspect_pages (Transact-SQL).

  2. Der Fehler wird im SQL Server-Fehlerprotokoll protokolliert.

  3. Markiert den Sicherungssatz als diesen Fehlertyp enthaltend (in der is_damaged Spalte von msdb..backupset). Weitere Informationen finden Sie unter backupset (Transact-SQL).

  4. Es wird eine Meldung ausgegeben, dass die Sicherung erfolgreich generiert wurde, aber Seitenfehler enthält.

Verwandte Aufgaben

So aktivieren oder deaktivieren Sie Sicherungsprüfsummen

So steuern Sie die Antwort auf einen Fehler während eines Sicherungsvorgangs

Weitere Informationen

ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
Gespiegelte Sicherungsmediensätze (SQL Server)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)