Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server)Possible Media Errors During Backup and Restore (SQL Server)

SQL Server 2016SQL Server 2016 haben Sie die Möglichkeit, trotz erkannter Fehler eine Datenbank wiederherzustellen. gives you the option of recovering a database despite detected errors. Ein wichtiger neuer Fehlererkennungsmechanismus ist die optionale Erstellung einer Sicherungsprüfsumme, die von einem Sicherungsvorgang erstellt und von einem Wiederherstellungsvorgang überprüft wird.An important new error-detection mechanism is the optional creation of a backup checksum that can be created by a backup operation and validated by a restore operation. Sie können steuern, ob vom Vorgang auf Fehler geprüft wird, und ob der Vorgang beim Auftreten eines Fehlers beendet oder fortgesetzt wird.You can control whether an operation checks for errors and whether the operation stops or continues on encountering an error. Wenn eine Sicherung eine Sicherungsprüfsumme enthält, kann mithilfe von RESTORE- und RESTORE VERIFYONLY-Anweisungen auf Fehler hin geprüft werden.If a backup contains a backup checksum, RESTORE and RESTORE VERIFYONLY statements can check for errors.

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.Mirrored backups provide up to four copies (mirrors) of a media set, providing alternative copies for recovering from errors caused by damaged media. Weitere Informationen finden Sie unter Gespiegelte Sicherungsmediensätze (SQL Server).For more information, see Mirrored Backup Media Sets (SQL Server).

Sicherungsprüfsummen Backup Checksums

SQL ServerSQL Server werden drei Prüfsummentypen unterstützt: eine Prüfsumme auf Seiten, eine Prüfsumme in Protokollblöcken und eine Sicherungsprüfsumme. supports three types of checksums: a checksum on pages, a checksum in log blocks, and a backup checksum. Beim Generieren einer Sicherungsprüfsumme wird von BACKUP überprüft, ob die aus der Datenbank gelesenen Daten mit Prüfsummen oder Indikatoren für zerrissene Seiten konsistent sind, die möglicherweise in der Datenbank vorhanden sind.When generating a backup checksum, BACKUP verifies that the data read from the database is consistent with any checksum or torn-page indication that is present in the database.

Von der BACKUP-Anweisung wird optional eine Sicherungsprüfsumme auf dem Sicherungsdatenstrom berechnet. Wenn Seitenprüfsummen oder Informationen zu zerrissenen Seiten auf einer gegebenen Seite vorhanden sind, wird von BACKUP während der Seitensicherung die Prüfsumme, der Status für zerrissene Seiten und die Seiten-ID für die Seite überprüft.The BACKUP statement optionally computes a backup checksum on the backup stream; if page-checksum or torn-page information is present on a given page, when backing up the page, BACKUP also verifies the checksum and torn-page status and the page ID, of the page. Beim Erstellen einer Sicherungsprüfsumme werden von Sicherungsvorgängen keine Prüfsummen zu Seiten hinzugefügt.When creating a backup checksum, a backup operation does not add any checksums to pages. Seiten werden so gesichert, wie sie in der Datenbank vorgefunden werden, und bleiben durch die Sicherung unverändert.Pages are backed up as they exist in the database, and the pages are unmodified by backup.

Wegen des Verwaltungsaufwands für das Überprüfen und Generieren von Prüfsummen stellen Sicherungsprüfsummen die potenzielle Gefahr einer Leistungseinbuße dar.Due to the overhead verifying and generating backup checksums, using backup checksums poses a potential performance impact. Sowohl die Arbeitsauslastung als auch der Sicherungsdurchsatz können davon betroffen sein.Both the workload and the backup throughput may be affected. Deshalb ist die Verwendung von Sicherungsprüfsummen optional.Therefore, using backup checksums is 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.When deciding to generate checksums during a backup, carefully monitor the CPU overhead incurred as well as the impact on any concurrent workload on the system.

Von BACKUP wird in keinem Fall die Quellenseite auf dem Datenträger oder der Inhalt einer Seite verändert.BACKUP never modifies the source page on disk nor the contents of a page.

Wenn Sicherungsprüfsummen aktiviert werden, führt ein Sicherungsvorgang die folgenden Schritte aus:When backup checksums are enabled, a backup operation performs the following steps:

  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.Before writing a page to the backup media, the backup operation verifies the page-level information (page checksum or torn page detection), if either exists. Wenn keines vorhanden ist, kann die Seite nicht von der Sicherung überprüft werden.If neither exists, backup cannot verify the page. Nicht überprüfte Seiten werden unverändert übernommen. Der Inhalt wird zur Gesamtsicherungsprüfsumme hinzugefügt.Unverified the pages are included as is, and their contents are added to the overall backup checksum.

    Wenn vom Sicherungsvorgang während der Überprüfung ein Seitenfehler festgestellt wird, tritt bei der Sicherung ein Fehler auf.If the backup operation encounters a page error during verification, the backup fails.

    Hinweis

    Weitere Informationen zu Seitenprüfsummen und dem Erkennen von zerrissenen Seiten finden Sie in der PAGE_VERIFY-Option der ALTER DATABASE-Anweisung.For more information about page checksums and torn page detection, see the PAGE_VERIFY option of the ALTER DATABASE statement. Weitere Informationen zu dieser Einstellung finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

  2. Unabhängig davon, ob Seitenprüfsummen vorhanden sind, generiert BACKUP eine separate Sicherungsprüfsumme für den Sicherungsdatenstrom.Regardless of whether page checksums are present, BACKUP generates a separate backup checksum for the backup streams. Bei den Wiederherstellungsvorgängen kann optional die Sicherungsprüfsumme verwendet werden, um zu überprüfen, ob die Sicherung beschädigt ist.Restore operations can optionally use the backup checksum to validate that the backup is not corrupted. Die Sicherungsprüfsumme wird auf den Sicherungsmedien gespeichert, nicht in den Datenbankseiten.The backup checksum is stored on the backup media, not on the database pages. Die Sicherungsprüfsumme kann bei der Wiederherstellung optional verwendet werden.The backup checksum can optionally be used at restore time.

  3. Der Sicherungssatz erhält die Markierung, dass er Sicherungsprüfsummen enthält (in der has_backup_checksums -Spalte von msdb..backupset).The backup set is flagged as containing backup checksums (in the has_backup_checksums column of msdb..backupset). Weitere Informationen finden Sie unter backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

    Wenn bei einem Sicherungsvorgang auf dem Sicherungsmedium Sicherungsprüfsummen vorhanden sind, werden standardmäßig die Sicherungsprüfsummen und Seitenprüfsummen von RESTORE- und RESTORE VERIFYONLY-Anweisungen überprüft.During a restore operation, if backup checksums are present on the backup media, by default, both the RESTORE and RESTORE VERIFYONLY statements verify the backup checksums and page checksums. 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.If there is no backup checksum, either restore operation proceeds without any verification; this is because without a backup checksum, restore cannot reliably verify page checksums.

Antwort auf Fehler bei der Seitenprüfsumme während einer Sicherung oder eines WiederherstellungsvorgangsResponse to Page Checksum Errors During a Backup or Restore Operation

Nach dem Auftreten eines Fehlers bei der Seitenprüfsumme treten beim BACKUP- oder RESTORE-Vorgang standardmäßig Fehler auf, und ein RESTORE VERIFYONLY-Vorgang wird fortgesetzt.By default, after encountering a page checksum error, a BACKUP or RESTORE operation fails and a RESTORE VERIFYONLY operation continues. 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.However, you can control whether a given operation fails on encountering an error or continues as best it can.

Wenn ein BACKUP-Vorgang nach dem Finden von Fehler fortgesetzt wird, werden vom Vorgang die folgenden Schritte ausgeführt:If a BACKUP operation continues after encountering errors, the operation performs the following steps:

  1. Der Sicherungssatz auf dem Sicherungsmedium wird als fehlerhaft markiert, und die Seite wird in der suspect_pages-Tabelle in der msdb-Datenbank nachverfolgt.Flags the backup set on the backup media as containing errors and tracks the page in the suspect_pages table in the msdb database. Weitere Informationen finden Sie unter suspect_pages (Transact-SQL).For more information, see suspect_pages (Transact-SQL).

  2. Der Fehler wird im SQL Server-Fehlerprotokoll protokolliert.Logs the error in the SQL Server error log.

  3. Der Sicherungssatz wird mit diesem Fehlertyp in der is_damaged -Spalte von msdb.backupsetmarkiert.Marks the backup set as containing this type of error (in the is_damaged column of msdb.backupset). Weitere Informationen finden Sie unter backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

  4. Es wird eine Meldung ausgegeben, dass die Sicherung erfolgreich generiert wurde, aber Seitenfehler enthält.Issues a message that the backup was successfully generated, but contains page errors.

So aktivieren oder deaktivieren Sie SicherungsprüfsummenTo enable or disable backup checksums

Siehe auchSee Also

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