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, können RESTORE- und RESTORERESTORE VERIFYONLY-Anweisungen sie auf Fehler prüfen.

Hinweis

Gespiegelte Sicherungen bieten bis zu vier Kopien (Spiegel) eines Mediensatzes und stellen alternative Kopien für die Wiederherstellung nach Fehlern infolge beschädigter Medien bereit. Weitere Informationen finden Sie unter Gespiegelte Sicherungsmediensätze (SQL Server).

Backup-Prüfsummen

SQL Server unterstützt drei Prüfsummentypen: eine Prüfsumme auf Seiten, eine Prüfsumme in Protokollblöcken und eine Sicherungsprüfsumme. Beim Generieren einer Sicherungsprüfsumme überprüft BACKUP, ob die aus der Datenbank gelesenen Daten mit allen in der Datenbank vorhandenen Prüfsummen oder Hinweisen auf beschädigte Seiten übereinstimmen.

Die BACKUP-Anweisung berechnet optional eine Prüfsumme für die Sicherung im Sicherungsdatenstrom; wenn auf einer bestimmten Seite Informationen zu Seitenprüfsummen oder unvollständigen Seiten vorhanden sind, überprüft BACKUP beim Sichern der Seite auch die Prüfsumme, den Status unvollständiger Seiten und die Seiten-ID. 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.

Aufgrund des Mehraufwands für das Überprüfen und Generieren von Sicherungsprüfsummen kann deren Verwendung die Leistung beeinträchtigen. Sowohl die Arbeitsauslastung als auch der Sicherungsdurchsatz können davon betroffen sein. Daher ist die Verwendung von Backup-Prüfsummen optional. Wenn Sie sich dafür entscheiden, während einer Sicherung Prüfsummen zu erzeugen, überwachen Sie sorgfältig die dadurch verursachte CPU-Mehrbelastung sowie die Auswirkungen auf andere gleichzeitig ausgeführte Workloads auf dem 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 von beiden vorhanden ist, kann das Backup die Seite nicht überprüfen. 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 unvollständiger Seiten finden Sie unter 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, generiert BACKUP eine separate Sicherungsprüfsumme für die Sicherungsströme. Bei Wiederherstellungsvorgängen kann optional die Sicherungsprüfsumme verwendet werden, um zu prüfen, ob die Sicherung nicht 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).

Während eines Wiederherstellungsvorgangs überprüfen standardmäßig sowohl die RESTORE- als auch die RESTORERESTORE VERIFYONLY-Anweisungen die Sicherungsprüfsummen und Seitenprüfsummen, sofern auf dem Sicherungsmedium Sicherungsprüfsummen vorhanden sind. Wenn keine Sicherungsprüfsumme vorhanden ist, wird der Wiederherstellungsvorgang ohne jegliche Überprüfung fortgesetzt; dies liegt daran, dass die Wiederherstellung ohne eine Sicherungsprüfsumme Seitenprüfsummen nicht zuverlässig überprüfen kann.

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

Standardmäßig schlägt nach dem Auftreten eines Seitenprüfsummenfehlers ein BACKUP- oder RESTORE-Vorgang fehl, und ein RESTORERESTORE VERIFYONLY-Vorgang wird fortgesetzt. Sie können jedoch steuern, ob ein bestimmter Vorgang bei Auftreten eines Fehlers fehlschlägt oder 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

Siehe auch

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