Erros de mídia possíveis durante backup e restauração (SQL Server)Possible Media Errors During Backup and Restore (SQL Server)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL Server 2019 (15.x)SQL Server 2019 (15.x) dá a você a opção de recuperar um banco de dados apesar dos erros detectados.gives you the option of recovering a database despite detected errors. Um novo mecanismo de detecção de erros importante é a criação opcional de uma soma de verificação do backup que pode ser criada por uma operação de backup e validada por uma operação de restauração.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. Você pode controlar se uma operação verifica os erros e se a operação é interrompida ou continua ao encontrar um erro.You can control whether an operation checks for errors and whether the operation stops or continues on encountering an error. Se um backup contiver uma soma de verificação de backup, as instruções RESTORE e RESTORE VERIFYONLY poderão verificar os erros.If a backup contains a backup checksum, RESTORE and RESTORE VERIFYONLY statements can check for errors.

Observação

Backups espelhados fornecem até quatro cópias (espelhos) de um conjunto de mídia, fornecendo cópias alternativas para a recuperação de erros causados por mídias danificadas.Mirrored backups provide up to four copies (mirrors) of a media set, providing alternative copies for recovering from errors caused by damaged media. Para obter mais informações, veja Conjuntos de mídias de backup espelhadas (SQL Server).For more information, see Mirrored Backup Media Sets (SQL Server).

Somas de verificação de backupBackup Checksums

SQL ServerSQL Server dá suporte a três tipos de somas de verificação: uma soma de verificação nas páginas, uma soma de verificação nos blocos de log e uma soma de verificação de backup.supports three types of checksums: a checksum on pages, a checksum in log blocks, and a backup checksum. Ao gerar uma soma de verificação de backup, o BACKUP verifica se a leitura de dados do banco de dados é consistente com qualquer soma de verificação ou indicação da página interrompida que estejam presentes no banco de dados.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.

A instrução BACKUP computa opcionalmente uma soma de verificação de backup no fluxo de backup; se a soma de verificação de página ou as informações da página interrompida estiverem presentes em uma determinada página, ao fazer o backup da página, o BACKUP também verifica a soma de verificação, o estado da página interrompida e a ID da página, na página.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. Ao criar uma soma de verificação de backup, uma operação de backup não acrescenta nenhuma soma de verificação às páginas.When creating a backup checksum, a backup operation does not add any checksums to pages. O backup das páginas é feito enquanto as mesmas existirem no banco de dados, e as páginas não são alteradas pelo backup.Pages are backed up as they exist in the database, and the pages are unmodified by backup.

Devido a verificação de sobrecarga e a geração de soma de verificação de backup, usar somas de verificação de backup representa um possível impacto de desempenho.Due to the overhead verifying and generating backup checksums, using backup checksums poses a potential performance impact. A carga de trabalho e a taxa de transferência de backup podem ser afetadas.Both the workload and the backup throughput may be affected. Por isso, usar somas de verificação de backup é opcional.Therefore, using backup checksums is optional. Ao decidir gerar somas de verificação durante um backup, monitore cuidadosamente a sobrecarga gerada da CPU, assim como o impacto em qualquer carga de trabalho simultânea no sistema.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.

O BACKUP nunca modifica a página de fonte em disco nem os conteúdos de uma página.BACKUP never modifies the source page on disk nor the contents of a page.

Quando as somas de verificação de backup estão habilitadas, uma operação de backup realiza as etapas seguintes:When backup checksums are enabled, a backup operation performs the following steps:

  1. Antes de gravar uma página na mídia de backup, a operação de backup verifica a informação do nível de página (soma de verificação de página ou detecção de página interrompida), ou se ela existe.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. Se não existir, o backup não poderá verificar a página.If neither exists, backup cannot verify the page. As páginas não verificadas são incluídas como estão, e seu conteúdo é adicionado à soma de verificação de backup geral.Unverified the pages are included as is, and their contents are added to the overall backup checksum.

    Se a operação de backup encontrar um erro de página durante a verificação, o backup falhará.If the backup operation encounters a page error during verification, the backup fails.

    Observação

    Para obter mais informações sobre somas de verificação de página e detecção de página interrompida, consulte a opção de PAGE_VERIFY da instrução ALTER DATABASE.For more information about page checksums and torn page detection, see the PAGE_VERIFY option of the ALTER DATABASE statement. Para obter mais informações, veja Opções ALTER DATABASE SET (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

  2. Independentemente de somas de verificação de página estarem presentes, BACKUP gera uma soma de verificação de backup separada para os fluxos de backup.Regardless of whether page checksums are present, BACKUP generates a separate backup checksum for the backup streams. Operações de restauração podem usar opcionalmente a soma de verificação de backup para validar se o backup não está corrompido.Restore operations can optionally use the backup checksum to validate that the backup is not corrupted. A soma de verificação de backup é armazenada na mídia de backup, não nas páginas do banco de dados.The backup checksum is stored on the backup media, not on the database pages. A soma de verificação de backup pode ser usada opcionalmente na hora da restauração.The backup checksum can optionally be used at restore time.

  3. O conjunto de backup é sinalizado como contendo somas de verificação de backup (na coluna has_backup_checksums de msdb..backupset) .The backup set is flagged as containing backup checksums (in the has_backup_checksums column of msdb..backupset). Para obter mais informações, veja conjunto de backup (Transact-SQL).For more information, see backupset (Transact-SQL).

Durante a operação de restauração, se as somas de verificação de backup estiverem presentes na mídia de backup, por padrão, ambas as instruções RESTORE e RESTORE VERIFYONLY verificarão as somas de verificação de backup e somas de verificação de página.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. Se não houver nenhuma soma de verificação de backup, cada operação de restauração prossegue sem qualquer verificação; porque sem uma soma de verificação de backup a restauração não pode verificar somas de verificação da página de modo confiável.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.

Resposta para erros de soma de verificação de página durante uma operação de backup ou restauraçãoResponse to Page Checksum Errors During a Backup or Restore Operation

Por padrão, depois de encontrar um erro de soma de verificação de página, uma operação BACKUP ou RESTORE falha e uma operação RESTORE VERIFYONLY continua.By default, after encountering a page checksum error, a BACKUP or RESTORE operation fails and a RESTORE VERIFYONLY operation continues. No entanto, você pode controlar se uma determinada operação não consegue encontrar um erro ou continua da melhor maneira possível.However, you can control whether a given operation fails on encountering an error or continues as best it can.

Se uma operação de BACKUP continuar depois de encontrar erros, ela executará as seguintes etapas:If a BACKUP operation continues after encountering errors, the operation performs the following steps:

  1. Sinaliza o conjunto de backup na mídia de backup como contendo erros e localiza a página na tabela suspect_pages no banco de dados 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. Para obter mais informações, veja suspect_pages (Transact-SQL).For more information, see suspect_pages (Transact-SQL).

  2. Faz o log do erro no log de erros do SQL Server.Logs the error in the SQL Server error log.

  3. Marca o conjunto de backup como contendo esse tipo de erro (na coluna is_damaged de msdb.backupset) .Marks the backup set as containing this type of error (in the is_damaged column of msdb.backupset). Para obter mais informações, veja conjunto de backup (Transact-SQL).For more information, see backupset (Transact-SQL).

  4. Emite uma mensagem que o backup foi gerado com sucesso, mas contém erros de página.Issues a message that the backup was successfully generated, but contains page errors.

Tarefas relacionadasRelated Tasks

Para habilitar ou desabilitar as somas de verificação de backupTo enable or disable backup checksums

Para controlar a resposta a um erro durante uma operação de backupTo control the response to a error during a backup operation

Consulte TambémSee Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
conjunto de backup (Transact-SQL) backupset (Transact-SQL)
Conjuntos de mídias de backup espelhadas (SQL Server) Mirrored Backup Media Sets (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)RESTORE VERIFYONLY (Transact-SQL)