Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server)

SQL Server 2014 bietet Ihnen die Möglichkeit, eine Datenbank trotz erkannter Fehler wiederherzustellen. Ein wichtiger neuer Fehlererkennungsmechanismus ist die optionale Erstellung einer Sicherungsprüfsumme, die durch einen Sicherungsvorgang erstellt und durch einen Wiederherstellungsvorgang überprüft werden kann. Sie können steuern, ob ein Vorgang auf Fehler überprüft und ob der Vorgang beendet oder fortgesetzt wird, wenn ein Fehler auftritt. Wenn eine Sicherung eine Sicherungsprüfsumme enthält, können RESTORE- und RESTORERESTORE VERIFYONLY-Anweisungen sie auf Fehler prüfen.

Hinweis

Gespiegelte Sicherungen stellen bis zu vier Kopien (Spiegel) eines Mediensatzes bereit und stellen alternative Kopien zum Wiederherstellen von Fehlern bereit, die durch beschädigte Medien verursacht werden. Weitere Informationen finden Sie unter Gespiegelte Sicherungsmediensätze (SQL Server).

Sicherungsprüfsummen

SQL Server unterstützt drei Arten von Prüfsummen: 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 durch den Backup-Vorgang keine Prüfsummen zu den Seiten hinzugefügt. Seiten werden gesichert, da sie in der Datenbank vorhanden sind, und die Seiten werden durch Sicherung nicht geändert.

Aufgrund des Aufwands der Überprüfung und Generierung von Sicherungsprüfsummen stellt die Verwendung von Sicherungsprüfsummen einen potenziellen Leistungseffekt dar. Sowohl die Workload als auch der Sicherungsdurchsatz können betroffen sein. Daher ist die Verwendung von Sicherungsprüfsummen optional. Wenn Sie sich für die Erstellung von Prüfsummen während einer Sicherung entscheiden, überwachen Sie sorgfältig den entstandenen CPU-Aufwand sowie die Auswirkungen auf alle gleichzeitigen Arbeitsauslastungen auf dem System.

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

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

  1. Bevor Sie eine Seite in das Sicherungsmedium schreiben, überprüft der Sicherungsvorgang die Informationen für die Seite (Seitenprüfsumme oder Erkennung beschädigter Seiten), falls vorhanden. Wenn weder das eine noch das andere vorhanden ist, kann das Backup die Seite nicht verifizieren. Die nicht überprüften Seiten werden unverändert hinzugefügt, und deren Inhalte werden zur gesamten Sicherungsprüfsumme addiert.

    Wenn beim Sicherungsvorgang während der Überprüfung ein Seitenfehler auftritt, schlägt die Sicherung fehl.

    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. Wiederherstellungsvorgänge können optional die Sicherungsprüfsumme verwenden, um zu überprüfen, ob die Sicherung nicht beschädigt ist. Die Sicherungsprüfsumme wird auf dem Sicherungsmedium und nicht auf den Datenbankseiten gespeichert. Die Sicherungsprüfsumme kann optional bei der Wiederherstellung verwendet werden.

  3. Der Sicherungssatz ist als enthaltend Sicherungsprüfsummen markiert (in der Spalte has_backup_checksums der Tabelle 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 jeder Wiederherstellungsvorgang ohne Überprüfung fortgesetzt; Dies liegt daran, dass die Wiederherstellung ohne Sicherungsprüfsumme nicht zuverlässig Seitenprüfsummen überprüfen kann.

Antwort auf Prüfsummenfehler bei Seiten während eines Sicherungs- oder 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 beim Auftreten eines Fehlers fehlschlägt oder wie möglich fortgesetzt wird.

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

  1. Kennzeichnet den Backup-Satz auf dem Backup-Medium als fehlerhaft und verfolgt die Seite in der Tabelle suspect_pages in der msdb Datenbank. Weitere Informationen finden Sie unter suspect_pages (Transact-SQL).

  2. Protokolliert den Fehler im SQL Server-Fehlerprotokoll.

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

  4. Gibt eine Meldung aus, dass die Sicherung erfolgreich generiert wurde, enthält jedoch Seitenfehler.

Verwandte Aufgaben

So können Sie Sicherungsprüfsummen aktivieren oder deaktivieren

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)