Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server)Possible Media Errors During Backup and Restore (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server 2017SQL Server 2017 позволяет восстанавливать базу данных, несмотря на обнаруженные ошибки.gives you the option of recovering a database despite detected errors. Новый важный механизм обнаружения ошибок состоит в возможном создании контрольной суммы резервной копии, которую можно создать операцией резервного копирования и проверить операцией восстановления.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. Можно управлять тем, будет ли операция проверять наличие ошибок и будет ли она останавливаться или продолжаться при обнаружении ошибки.You can control whether an operation checks for errors and whether the operation stops or continues on encountering an error. Если резервная копия содержит контрольную сумму, инструкции RESTORE и RESTORE VERIFYONLY могут выполнять проверку на наличие ошибок.If a backup contains a backup checksum, RESTORE and RESTORE VERIFYONLY statements can check for errors.

Примечание

Зеркальные резервные копии могут содержать до четырех копий (зеркал) наборов носителей, предоставляя другие копии для исправления ошибок, вызванных повреждением носителей.Mirrored backups provide up to four copies (mirrors) of a media set, providing alternative copies for recovering from errors caused by damaged media. Дополнительные сведения см. в подразделе Зеркальные наборы носителей резервных копий (SQL Server).For more information, see Mirrored Backup Media Sets (SQL Server).

Контрольные суммы резервных копийBackup Checksums

SQL ServerSQL Server поддерживает три типа контрольных сумм: на страницах, в блоках журналов и резервных копиях.supports three types of checksums: a checksum on pages, a checksum in log blocks, and a backup checksum. При создании контрольной суммы резервной копии инструкция BACKUP проверяет согласованность данных, считанных из базы данных, со всеми контрольными суммами или признаками обрыва страниц в этой базе.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.

Инструкция BACKUP может также вычислять контрольную сумму резервной копии для потока резервирования. Если на данной странице есть контрольная сумма или данные о разрыве страниц, то при резервном копировании инструкция BACKUP также проверяет для страницы контрольную сумму, идентификатор и состояние разрыва страницы.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. При создании контрольной суммы резервной копии операция резервного копирования не добавляет никаких контрольных сумм к страницам.When creating a backup checksum, a backup operation does not add any checksums to pages. Страницы копируются так, как они существуют в базе данных, они не изменяются операцией резервного копирования.Pages are backed up as they exist in the database, and the pages are unmodified by backup.

Из-за дополнительной нагрузки при проверке и создании контрольных сумм резервных копий их использование может ухудшить производительность.Due to the overhead verifying and generating backup checksums, using backup checksums poses a potential performance impact. Может пострадать как рабочая нагрузка, так и пропускная способность резервного копирования.Both the workload and the backup throughput may be affected. Поэтому использование контрольных сумм резервных копий необязательно.Therefore, using backup checksums is optional. При принятии решения о создании контрольных сумм резервных копий необходимо тщательно проконтролировать соответствующую дополнительную загрузку ЦП и влияние на остальную рабочую нагрузку системы.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.

Инструкция BACKUP никогда не изменяет исходную страницу на диске и ее содержимое.BACKUP never modifies the source page on disk nor the contents of a page.

Если контрольные суммы резервных копий включены, операция резервного копирования выполняет следующие шаги:When backup checksums are enabled, a backup operation performs the following steps:

  1. Перед записью страницы на резервный носитель операция резервного копирования проверяет сведения на уровне страницы (контрольную сумму или обнаружение разрыва страницы), если они имеются.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. Если они отсутствуют, операция резервного копирования не может проверить страницу.If neither exists, backup cannot verify the page. Непроверенные страницы включаются «как есть», а их содержимое добавляется в общую контрольную сумму резервной копии.Unverified the pages are included as is, and their contents are added to the overall backup checksum.

    Если во время проверки операция резервного копирования обнаруживает ошибку страницы, резервное копирование прерывается с ошибкой.If the backup operation encounters a page error during verification, the backup fails.

    Примечание

    Дополнительные сведения о контрольной сумме страниц и обнаружении разрывов страниц см. в описании параметра PAGE_VERIFY инструкции ALTER DATABASE.For more information about page checksums and torn page detection, see the PAGE_VERIFY option of the ALTER DATABASE statement. Дополнительные сведения см. в разделе Параметры ALTER DATABASE SET (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

  2. Независимо от того, присутствует ли контрольная сумма страницы или нет, инструкция BACKUP создает отдельные контрольные суммы резервных копий для потока резервных файлов.Regardless of whether page checksums are present, BACKUP generates a separate backup checksum for the backup streams. Дополнительно операции восстановления могут использовать контрольные суммы резервных копий для проверки наличия повреждений в резервных файлах.Restore operations can optionally use the backup checksum to validate that the backup is not corrupted. Контрольная сумма резервной копии хранится на носителе резервных файлов, а не на страницах базы данных.The backup checksum is stored on the backup media, not on the database pages. Контрольную сумму резервной копии также можно использовать во время восстановления.The backup checksum can optionally be used at restore time.

  3. Резервный набор данных помечен как содержащий контрольные суммы резервных копий (в столбце has_backup_checksums таблицы msdb..backupset).The backup set is flagged as containing backup checksums (in the has_backup_checksums column of msdb..backupset). Дополнительные сведения см. в разделе backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

Мы слушаем! Если вы обнаружили в этой статье устаревшие или недостоверные сведения, например инструкции или пример кода, сообщите нам.We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. Можно воспользоваться кнопкой Эта страница в разделе Отзывы внизу страницы.You can click the This page button in the Feedback section at the bottom of this page. Обычно мы читаем отзывы про материалы по SQL на следующий день.We read every item of feedback about SQL, typically the next day. Благодарим вас.Thanks.

Во время операции восстановления, если на резервном носителе имеются контрольные суммы, по умолчанию и инструкция RESTORE, и инструкция RESTORE VERIFYONLY проверяют контрольные суммы резервных копий и страниц.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. Если у резервной копии нет контрольной суммы, все операции восстановления продолжаются без проверок. Данное поведение объясняется тем, что без контрольной суммы резервной копии операция восстановления не может достоверно проверять контрольные суммы страниц.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.

Реакция на ошибки контрольной суммы страниц при операциях резервного копирования или восстановленияResponse to Page Checksum Errors During a Backup or Restore Operation

По умолчанию после обнаружения ошибки контрольной суммы страницы операция BACKUP или RESTORE прерывается, а операция RESTORE VERIFYONLY продолжает работу.By default, after encountering a page checksum error, a BACKUP or RESTORE operation fails and a RESTORE VERIFYONLY operation continues. Однако вы можете определить, будет ли та или иная операция прерываться при возникновении ошибки или пытаться продолжать работу.However, you can control whether a given operation fails on encountering an error or continues as best it can.

Если операция BACKUP продолжает работу при возникновении ошибок, она производит следующие действия:If a BACKUP operation continues after encountering errors, the operation performs the following steps:

  1. Помечает резервный набор данных на резервном носителе как содержащий ошибки и отслеживает эту страницу в таблице suspect_pages в базе данных msdb.Flags the backup set on the backup media as containing errors and tracks the page in the suspect_pages table in the msdb database. Дополнительные сведения см. в разделе suspect_pages (Transact-SQL).For more information, see suspect_pages (Transact-SQL).

  2. Записывает эту ошибку в журнал ошибок SQL Server.Logs the error in the SQL Server error log.

  3. Помечает резервный набор данных как содержащий данный тип ошибок (в столбце is_damaged таблицы msdb.backupset).Marks the backup set as containing this type of error (in the is_damaged column of msdb.backupset). Дополнительные сведения см. в разделе backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

  4. Выдает сообщение о том, что резервная копия успешно создана, но содержит ошибки страниц.Issues a message that the backup was successfully generated, but contains page errors.

Связанные задачиRelated Tasks

Включение или отключение контрольных сумм резервных копийTo enable or disable backup checksums

Управление реакцией на ошибку во время операции резервного копированияTo control the response to a error during a backup operation

См. также:See Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
backupset (Transact-SQL) backupset (Transact-SQL)
Зеркальные наборы носителей резервных копий (SQL Server) Mirrored Backup Media Sets (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)RESTORE VERIFYONLY (Transact-SQL)