Restaurações de arquivo (modelo de recuperação completa)File Restores (Full Recovery Model)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Este tópico é relevante apenas para bancos de dados que contêm vários arquivos ou grupos de arquivos sob o modelo de recuperação completa ou de carregamento em massa.This topic is relevant only for databases that contain multiple files or filegroups under the full or bulk-load recovery model.

Em uma restauração de arquivo, a meta é restaurar um ou mais arquivos danificados sem restaurar todo o banco de dados.In a file restore, the goal is to restore one or more damaged files without restoring the whole database. Um cenário de restauração de arquivo consiste em uma única sequência de restauração que copia, efetua roll forward e recupera os dados apropriadosA file restore scenario consists of a single restore sequence that copies, rolls forward, and recovers the appropriate data

Se o grupo de arquivos que é restaurado for de leitura/gravação, uma cadeia ininterrupta de backups de log deve ser aplicada após o último backup de dados ou diferencial ser restaurado.If the filegroup that is being restored is read/write, an unbroken chain of log backups must be applied after the last data or differential backup is restored. Isso faz com que o grupo de arquivos avance para os registros de log nos registros de log ativos atuais no arquivo de log.This brings the filegroup forward to the log records in the current active log records in the log file. O ponto de recuperação está normalmente próximo o término do log, mas não necessariamente.The recovery point is typically near the end of log, but not necessarily.

Se o grupo de arquivos que está sendo restaurado for somente leitura, normalmente aplicar backups de log será desnecessário e ignorado.If the filegroup that is being restored is read-only, usually applying log backups is unnecessary and is skipped. Se o backup for realizado depois que o arquivo se torne somente leitura, ele será o último backup a restaurar.If the backup was taken after the file became read-only, that is the last backup to restore. Roll-forward para no ponto de destino.Roll forward stops at the target point.

Os cenários de restauração de arquivo são os seguintes:The file-restore scenarios are as follows:

  • Restauração de arquivo offlineOffline file restore

    Em uma restauração de arquivo offline, o banco de dados fica offline enquanto os arquivos ou grupos de arquivos danificados são restaurados.In an offline file restore, the database is offline while damaged files or filegroups are restored. Ao término da sequência de restauração, o banco de dados fica online.At the end of the restore sequence, the database comes online.

    Todas as edições do SQL Server 2017SQL Server 2017 oferecem suporte à restauração de arquivos offline.All editions of SQL Server 2017SQL Server 2017 support offline file restore.

  • Restauração de arquivo onlineOnline file restore

    Em uma restauração de arquivo online, se o banco de dados estiver online no momento da restauração, ele permanecerá online durante a restauração do arquivo.In an online file restore, if database is online at restore time, it remains online during the file restore. Porém, cada grupo de arquivos no qual um arquivo está sendo restaurado fica offline durante a operação de restauração.However, each filegroup in which a file is being restored is offline during the restore operation. Depois que todos os arquivos de um grupo de arquivos offline são recuperados, o grupo de arquivos é automaticamente colocado online.After all the files in an offline filegroup are recovered, the filegroup is automatically brought online.

    Para obter informações sobre o suporte para restauração de arquivo e de página online, consulte Recursos com suporte e edições do SQL Server 2016.For information about support for online page and file restore, see Editions and Supported Features for SQL Server 2016. Para obter informações sobre restaurações online, consulte Restauração online (SQL Server).For more information about online restores, see Online Restore (SQL Server).

    Dica

    Se você deseja que o banco de dados esteja offline para uma restauração arquivo, coloque o banco de dados offline antes de iniciar a sequência de restauração executando a seguinte instrução ALTER DATABASE: ALTER DATABASE database_name SET OFFLINE.If you want the database to be offline for a file restore, take the database offline before you start the restore sequence by executing the following ALTER DATABASE statement: ALTER DATABASE database_name SET OFFLINE.

Restaurando arquivos danificados de backups de arquivoRestoring Damaged Files from File Backups

  1. Antes de restaurar um ou mais arquivos danificados, tente criar um backup da parte final do log.Before restoring one or more damaged files, attempt to create a tail-log backup.

    Se o log tiver sido danificado e não for possível criar um backup da parte final do log, você deverá restaurar todo o banco de dados.If the log has been damaged, a tail-log backup cannot be created, and you must restore the whole database.

    Para obter informações sobre como fazer backup de um log de transações, veja Backups de log de transações (SQL Server).For information about how to back up a transaction log, see Transaction Log Backups (SQL Server).

    Importante

    Para uma restauração de arquivo offline, você deve sempre fazer um backup do final do log antes da restauração do arquivo.For an offline file restore, you must always take a tail-log backup before the file restore. Para uma restauração de arquivo online, você deve sempre fazer o backup do log após a restauração do arquivo.For an online file restore, you must always take the log backup after the file restore. Este backup de log é necessário para permitir que o arquivo seja recuperado a um estado consistente com o restante do banco de dados.This log backup is necessary to allow for the file to be recovered to a state consistent with the rest of the database.

  2. Restaure cada arquivo danificado do backup de arquivos mais recente desse arquivo.Restore each damaged file from the most recent file backup of that file.

  3. Restaure o backup de arquivo diferencial mais recente, se houver, para cada arquivo restaurado.Restore the most recent differential file backup, if any, for each restored file.

  4. Restaure backups de log de transações em sequência, iniciando com o backup que inclui o mais antigo dos arquivos restaurados e terminando com o backup do final do log criado na etapa 1.Restore transaction log backups in sequence, starting with the backup that covers the oldest of the restored files and ending with the tail-log backup created in step 1.

    Você deve restaurar os backups de log de transações que foram criados após os backups de arquivo para trazer o banco de dados a um estado consistente.You must restore the transaction log backups that were created after the file backups to bring the database to a consistent state. Os backups de log de transações podem ser rolados para frente rapidamente, porque somente são aplicadas as mudanças que se aplicam aos arquivos restaurados.The transaction log backups can be rolled forward quickly, because only the changes that apply to the restored files are applied. Restaurar arquivos individuais pode ser melhor que restaurar todo o banco de dados, porque não são copiados arquivos não danificados e rolados para frente.Restoring individual files can be better than restoring the whole database, because undamaged files are not copied and then rolled forward. Porém, a cadeia inteira de backups de log ainda tem que ser lida.However, the whole chain of log backups still has to be read.

  5. Recuperar o banco de dados.Recover the database.

Somos todos ouvidos: Se você encontrar algo desatualizado ou incorreto neste artigo, como uma etapa ou um exemplo de código, informe-nos.We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. Você pode clicar no botão Esta página na seção Comentários na parte inferior desta página.You can click the This page button in the Feedback section at the bottom of this page. Lemos todos os itens de comentários sobre o SQL, normalmente no dia seguinte.We read every item of feedback about SQL, typically the next day. Obrigado.Thanks.

Observação

Podem ser usados backups de arquivo para restaurar o banco de dados a um ponto anterior no tempo.File backups can be used to restore the database to an earlier point in time. Para fazê-lo, você deve restaurar um conjunto completo de backups de arquivo e então restaurar backups de log de transações em sequência para alcançar um ponto de destino que busca o término do backup de arquivo restaurado mais recente.To do this, you must restore a complete set of file backups, and then restore transaction log backups in sequence to reach a target point that is after the end of the most recent restored file backup. Para obter mais informações sobre a recuperação pontual, veja Restaurar um banco de dados do SQL Server em um ponto específico (Modelo de recuperação completa).For more information about point-in-time recovery, see Restore a SQL Server Database to a Point in Time (Full Recovery Model).

Sequência de restauração Transact-SQL para uma restauração de arquivo offline (modelo de recuperação completo)Transact-SQL Restore Sequence for an Offline File Restore (Full Recovery Model)

Um cenário de restauração de arquivo consiste em uma única sequência de restauração que copia, rola para frente e recupera os dados apropriados.A file restore scenario consists of a single restore sequence that copies, rolls forward, and recovers the appropriate data.

Esta seção mostra as opções básicas de RESTORE para uma sequência de restauração de arquivo.This section shows the essential RESTORE options for a file-restore sequence. Sintaxe e detalhes que não sejam relevantes para esse propósito são omitidos.Syntax and details that are not relevant to this purpose are omitted.

A sequência de restauração de exemplo a seguir mostra uma restauração offline de dois arquivos secundários, A e B, usando WITH NORECOVERY.The following sample restore sequence shows an offline restore of two secondary files, A and B, using WITH NORECOVERY. Em seguida, dois backups de log são aplicados com NORECOVERY, seguido pelo backup do final do log que é restaurado com WITH RECOVERY.Next, two log backups are applied with NORECOVERY, followed with the tail-log backup, and this is restored using WITH RECOVERY.

Observação

A sequência de restauração de exemplo a seguir começa colocando o arquivo offline e cria um backup do final do log.The following sample restore sequence starts by taking the file offline and then creates a tail-log backup.

--Take the file offline.  
ALTER DATABASE database_name MODIFY FILE SET OFFLINE;  
-- Back up the currently active transaction log.  
BACKUP LOG database_name  
   TO <tail_log_backup>  
   WITH NORECOVERY;  
GO   
-- Restore the files.  
RESTORE DATABASE database_name FILE=name   
   FROM <file_backup_of_file_A>   
   WITH NORECOVERY;  
RESTORE DATABASE database_name FILE=<name> ......  
   FROM <file_backup_of_file_B>   
   WITH NORECOVERY;  
-- Restore the log backups.  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <tail_log_backup>   
   WITH RECOVERY;  

ExemplosExamples

Tarefas relacionadasRelated Tasks

Para restaurar arquivos e grupos de arquivosTo restore files and filegroups

Consulte TambémSee Also

Backup e Restauração: Interoperabilidade e Coexistência (SQL Server) Backup and Restore: Interoperability and Coexistence (SQL Server)
Backups diferenciais (SQL Server) Differential Backups (SQL Server)
Backups completos de arquivos (SQL Server) Full File Backups (SQL Server)
Visão geral do backup (SQL Server) Backup Overview (SQL Server)
Visão geral de restauração e recuperação (SQL Server) Restore and Recovery Overview (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Restaurações completas de banco de dados (Modelo de recuperação simples#41; Complete Database Restores (Simple Recovery Model)
Restaurações por etapas (SQL Server)Piecemeal Restores (SQL Server)