Visão geral da restauração e recuperação (SQL Server)Restore and Recovery Overview (SQL Server)

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

Para recuperar um banco de dados do SQL ServerSQL Server de uma falha, um administrador de banco de dados precisa restaurar um conjunto de backups do SQL ServerSQL Server em uma sequência de restauração logicamente correta e significativa.To recover a SQL ServerSQL Server database from a failure, a database administrator has to restore a set of SQL ServerSQL Server backups in a logically correct and meaningful restore sequence. SQL ServerSQL Server dá suporte à restauração de dados de backups de um banco de dados inteiro, um arquivo de dados ou uma página de dados, como segue:restore and recovery supports restoring data from backups of a whole database, a data file, or a data page, as follows:

  • O banco de dados (uma restauração completa do banco de dados)The database (a complete database restore)

    Todo o banco de dados é restaurado e recuperado e o banco de dados fica offline durante as operações de restauração e recuperação.The whole database is restored and recovered, and the database is offline for the duration of the restore and recovery operations.

  • O arquivo de dados (uma restauração de arquivo)The data file (a file restore)

    Um arquivo de dados ou um conjunto de arquivos é restaurado e recuperado.A data file or a set of files is restored and recovered. Durante uma operação de restauração de arquivo, os grupos de arquivos que contêm os arquivos ficam automaticamente offline.During a file restore, the filegroups that contain the files are automatically offline for the duration of the restore. Qualquer tentativa de acessar um grupo de arquivos offline gera um erro.Any attempt to access an offline filegroup causes an error.

  • A página de dados (uma restauração de página)The data page (a page restore)

    Você pode restaurar bancos de dados específicos por meio do modelo de recuperação completa ou do modelo de recuperação bulk-logged.Under the full recovery model or bulk-logged recovery model, you can restore individual databases. As restaurações de página podem ser executadas em qualquer banco de dados, seja qual for o número de grupos de arquivos.Page restores can be performed on any database, regardless of the number of filegroups.

SQL ServerSQL Server o backup e a restauração funcionam em todos os sistemas operacionais com suporte.backup and restore work across all supported operating systems. Para obter informações sobre os sistemas operacionais com suporte, veja Requisitos de hardware e software para a instalação do SQL Server 2016.For information about the supported operating systems, see Hardware and Software Requirements for Installing SQL Server 2016. Para obter informações sobre suporte para backups de versões anteriores do SQL ServerSQL Server, veja a seção “Suporte de compatibilidade” de RESTORE (Transact-SQL).For information about support for backups from earlier versions of SQL ServerSQL Server, see the "Compatibility Support" section of RESTORE (Transact-SQL).

Neste tópico:In this Topic:

Visão geral de cenários de restauraçãoOverview of Restore Scenarios

Um cenário de restauração no SQL ServerSQL Server é o processo de restauração de dados de um ou mais backups seguida da recuperação do banco de dados.A restore scenario in SQL ServerSQL Server is the process of restoring data from one or more backups and then recovering the database. Os cenários de restauração com suporte dependem do modelo de recuperação do banco de dados e da versão do SQL ServerSQL Server.The supported restore scenarios depend on the recovery model of the database and the edition of SQL ServerSQL Server.

A tabela abaixo descreve os possíveis cenários de restauração que têm suporte para diversos modelos de recuperação.The following table introduces the possible restore scenarios that are supported for different recovery models.

cenário de restauraçãoRestore scenario Modelo de recuperação simplesUnder simple recovery model Modelos de recuperação completa e com log de operações em massaUnder full/bulk-logged recovery models
restauração completa do banco de dadosComplete database restore Esta é a estratégia básica de restauração.This is the basic restore strategy. Uma restauração completa do banco de dados pode envolver simplesmente a restauração e recuperação do backup completo do banco de dados.A complete database restore might involve simply restoring and recovering a full database backup. Alternativamente, uma restauração completa do banco de dados pode envolver a restauração do banco de dados completo seguida pela restauração e recuperação de um backup diferencial.Alternatively, a complete database restore might involve restoring a full database backup followed by restoring and recovering a differential backup.

Para obter mais informações, veja Restaurações completas de banco de dados (Modelo de recuperação simples).For more information, see Complete Database Restores (Simple Recovery Model).
Esta é a estratégia básica de restauração.This is the basic restore strategy. Uma restauração completa do banco de dados envolve a restauração de um backup completo do banco e, opcionalmente, de um backup diferencial (se houver), seguida da restauração de todos os backups de logs subsequentes (em sequência).A complete database restore involve restoring a full database backup and, optionally, a differential backup (if any), followed by restoring all subsequent log backups (in sequence). A restauração completa do banco de dados termina com a recuperação do último backup de log e também com sua restauração (RESTORE WITH RECOVERY).The complete database restore is finished by recovering the last log backup and also restoring it (RESTORE WITH RECOVERY).

Para obter mais informações, veja Restaurações completas de banco de dados (Modelo de recuperação completa).For more information, see Complete Database Restores (Full Recovery Model)
File restore *File restore * Restaura um ou mais arquivos somente leitura danificados, sem restaurar todo o banco de dados.Restore one or more damaged read-only files, without restoring the entire database. A restauração de arquivo só estará disponível se o banco de dados tiver pelo menos um grupo de arquivos somente leitura.File restore is available only if the database has at least one read-only filegroup. Restaura um ou mais arquivos, sem restaurar todo o banco de dados.Restores one or more files, without restoring the entire database. A restauração de arquivo pode ser executada enquanto o banco de dados estiver offline ou, em algumas edições do SQL ServerSQL Server, enquanto o banco de dados permanece online.File restore can be performed while the database is offline or, for some editions of SQL ServerSQL Server, while the database remains online. Durante uma restauração de arquivo, os grupos de arquivos que contêm os arquivos que estão sendo restaurados sempre estão offline.During a file restore, the filegroups that contain the files that are being restored are always offline.
restauração de páginaPage restore Não aplicávelNot applicable Restaura uma ou mais páginas danificadas.Restores one or more damaged pages. A restauração de página pode ser executada enquanto o banco de dados estiver offline ou, em algumas edições do SQL ServerSQL Server, enquanto o banco de dados permanece online.Page restore can be performed while the database is offline or, for some editions of SQL ServerSQL Server, while the database remains online. Durante uma restauração de página, as páginas que estão sendo restauradas sempre estão offline.During a page restore, the pages that are being restored are always offline.

Uma cadeia ininterrupta de backups de log deve estar disponível, até o arquivo de log atual, e todos eles devem ser aplicados para tornar a página atualizada com o arquivo de log atual.An unbroken chain of log backups must be available, up to the current log file, and they must all be applied to bring the page up to date with the current log file.

Para obter mais informações, veja Restaurar páginas (SQL Server).For more information, see Restore Pages (SQL Server).
Restauração por etapas *Piecemeal restore * Restaura e recupera o banco de dados em fases no nível do grupo de arquivos, iniciando com o grupo de arquivos primário e todos os grupos de arquivos de gravação/leitura secundários.Restore and recover the database in stages at the filegroup level, starting with the primary and all read/write, secondary filegroups. Restaura e recupera o banco de dados em fases no nível do grupo de arquivos, iniciando com o grupo de arquivos primário.Restore and recover the database in stages at the filegroup level, starting with the primary filegroup.

* Há suporte para a restauração online somente na edição Enterprise.* Online restore is supported only in the Enterprise edition.

Independentemente de como os dados são restaurados, antes que um banco de dados possa ser recuperado, o Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine garante que todo o banco de dados é logicamente consistente.Regardless of how data is restored, before a database can be recovered, the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine guarantees that the whole database is logically consistent. Por exemplo, se você restaurar um arquivo, não poderá recuperá-lo e colocá-lo online enquanto ele não for rolado para frente o suficiente para estar consistente com o banco de dados.For example, if you restore a file, you cannot recover it and bring it online until it has been rolled far enough forward to be consistent with the database.

Vantagens de uma restauração de arquivo ou páginaAdvantages of a File or Page Restore

A restauração e recuperação de arquivos ou páginas, ao invés de todo o banco de dados, oferece as seguintes vantagens:Restoring and recovering files or pages, instead of the whole database, provides the following advantages:

  • Restaurar menos dados diminui o tempo necessário para copiar e recuperar o banco de dados.Restoring less data reduces the time required to copy and recover it.

  • No SQL ServerSQL Server , a restauração de arquivos ou páginas pode permitir que outros dados no banco de dados permaneçam online durante a operação de restauração.On SQL ServerSQL Server restoring files or pages might allow other data in the database to remain online during the restore operation.

Modelos de recuperação e operações de restauração suportadasRecovery Models and Supported Restore Operations

As operações de restauração disponíveis para um banco de dados dependem de seu modelo de recuperação.The restore operations that are available for a database depend on its recovery model. A tabela abaixo resume se e qual extensão cada um dos modelos de recuperação suporta um determinado cenário de restauração.The following table summarizes whether and to what extent each of the recovery models supports a given restore scenario.

Operação de restauraçãoRestore operation Modelo de recuperação completaFull recovery model Modelo de recuperação bulk-loggedBulk-logged recovery model Modelo de recuperação simplesSimple recovery model
Recuperação de dadosData recovery Recuperação completa (se o log estiver disponível).Complete recovery (if the log is available). Exposição a alguma perda de dados.Some data-loss exposure. Quaisquer dados desde o último backup completo ou diferencial serão perdidos.Any data since last full or differential backup is lost.
Restauração em um momento determinadoPoint-in-time restore Qualquer período coberto pelos backups de log.Any time covered by the log backups. Não permitido se o backup de log contiver quaisquer alterações com log de alteração em massa.Disallowed if the log backup contains any bulk-logged changes. Sem suporte.Not supported.
File restore *File restore * Suporte completo.Full support. Às vezes. **Sometimes.** Disponível só para arquivos secundários somente leitura.Available only for read-only secondary files.
Page restore *Page restore * Suporte completo.Full support. Às vezes. **Sometimes.** Nenhum.None.
Restauração por etapas (nível de grupo de arquivos) *Piecemeal (filegroup-level) restore * Suporte completo.Full support. Às vezes. **Sometimes.** Disponível só para arquivos secundários somente leitura.Available only for read-only secondary files.

* Disponível somente na edição Enterprise do SQL ServerSQL Server* Available only in the Enterprise edition of SQL ServerSQL Server

** Para saber as condições exigidas, consulte Restrições de restauração no modelo de recuperação simples, posteriormente neste tópico.** For the required conditions, see Restore Restrictions Under the Simple Recovery Model, later in this topic.

Importante

Independentemente do modelo de recuperação de um banco de dados, um backup do SQL ServerSQL Server não pode ser restaurado por uma versão do SQL ServerSQL Server que seja mais antiga do que a versão que criou o backup.Regardless of the recovery model of a database, a SQL ServerSQL Server backup cannot be restored by a version of SQL ServerSQL Server that is older than the version that created the backup.

Cenários de restauração no modelo de recuperação simplesRestore Scenarios Under the Simple Recovery Model

O modelo de recuperação simples impõe as seguintes restrições em operações de restauração:The simple recovery model imposes the following restrictions on restore operations:

Se quaisquer dessas restrições forem impróprias para suas necessidades de recuperação, recomendamos que você considere o uso do modelo de recuperação completa.If any of these restrictions are inappropriate for your recovery needs, we recommend that you consider using the full recovery model. Para obter mais informações, veja Visão geral do backup (SQL Server).For more information, see Backup Overview (SQL Server).

Importante

Independentemente do modelo de recuperação de um banco de dados, um backup do SQL ServerSQL Server não pode ser restaurado por uma versão do SQL ServerSQL Server que seja mais antiga do que a versão que criou o backup.Regardless of the recovery model of a database, a SQL ServerSQL Server backup cannot be restored by a version of SQL ServerSQL Server that is older than the version that created the backup.

Restauração no modelo de recuperação bulk-loggedRestore Under the Bulk-Logged Recovery Model

Esta seção aborda as considerações de restauração que são específicas do modelo de recuperação bulk-logged, que deve ser usado exclusivamente como complemento para o modelo de recuperação completa.This section discusses restore considerations that are unique to bulk-logged recovery model, which is intended exclusively as a supplement to the full recovery model.

Observação

Para obter uma introdução ao modelo de recuperação bulk-logged, veja O log de transações (SQL Server).For an introduction to the bulk-logged recovery model, see The Transaction Log (SQL Server).

Geralmente, o modelo de recuperação bulk-logged é semelhante ao modelo de recuperação completa e as informações descritas para o modelo de recuperação completa também se aplicam a ambos.Generally, the bulk-logged recovery model is similar to the full recovery model, and the information described for the full recovery model also applies to both. Porém, a recuperação pontual e a restauração online são afetadas pelo modelo de recuperação bulk-logged.However, point-in-time recovery and online restore are affected by the bulk-logged recovery model.

Restrições para recuperação pontualRestrictions for Point-in-time Recovery

Se um backup de log feito no modelo de recuperação bulk-logged contiver alterações, a recuperação pontual não será permitida.If a log backup taken under the bulk-logged recovery model contains bulk-logged changes, point-in-time recovery is not allowed. Tentar executar a recuperação pontual em um backup de log que contenha alterações em massa leva à falha na operação de restauração.Trying to perform point-in-time recovery on a log backup that contains bulk changes will cause the restore operation to fail.

Restrições para restauração onlineRestrictions for Online Restore

Uma sequência de restauração online funciona apenas se as seguintes condições forem atendidas:An online restore sequence works only if the following conditions are met:

  • Todos os backups de log exigidos devem ter sido feitos antes do início da sequência de restauração.All required log backups must have been taken before the restore sequence starts.

  • Os backups de alterações em massa devem ser feitos antes do início da sequência de restauração online.Bulk changes must be backed before starting the online restore sequence.

  • Se houver alterações em massa no banco de dados, todos os arquivos deverão estar online ouextintos.If bulk changes exist in the database, all files must be either online ordefunct. (Isso significa que já não faz parte do banco de dados.)(This means that it is no longer part of the database.)

Se essas condições não forem atendidas, haverá falha na sequência de restaurações online.If these conditions are not met, the online restore sequence fails.

Observação

Recomenda-se passar para o modelo de recuperação completa antes de iniciar uma restauração online.We recommend switching to the full recovery model before starting an online restore. Para obter mais informações, veja Modelos de recuperação (SQL Server).For more information, see Recovery Models (SQL Server).

Para obter informações sobre como executar uma restauração online, veja Restauração online (SQL Server).For information about how to perform an online restore, see Online Restore (SQL Server).

Orientador de recuperação de banco de dados (SQL Server Management Studio)Database Recovery Advisor (SQL Server Management Studio)

O orientador de recuperação de banco de dados facilita a criação de planos de restauração que implementam sequências de restauração corretas.The Database Recovery Advisor facilitates constructing restore plans that implement optimal correct restore sequences. Muitos problemas conhecidos e aperfeiçoamentos de restauração de banco de dados solicitados pelos clientes foram resolvidos.Many known database restore issues and enhancements requested by customers have been addressed. Estes são os principais aperfeiçoamentos incorporados pelo orientador de recuperação de banco de dados:Major enhancements introduced by the Database Recovery Advisor include the following:

  • Algoritmo do plano de restauração: o algoritmo usado para criar planos de restauração melhorou significativamente, particularmente em cenários de restauração complexos.Restore-plan algorithm: The algorithm used to construct restore plans has improved significantly, particularly for complex restore scenarios. Muitos casos extremos, inclusive cenários de bifurcação em restaurações pontuais, são tratados de forma mais eficiente do que nas versões anteriores do SQL ServerSQL Server.Many edge cases, including forking scenarios in point-in-time restores, are handled more efficiently than in previous versions of SQL ServerSQL Server.

  • Restaurações pontuais: o Assistente de Recuperação de Banco de Dados simplifica consideravelmente a restauração de um banco de dados em um determinado momento.Point-in-time restores: The Database Recovery Advisor greatly simplifies restoring a database to a given point in time. Uma linha de tempo de backup visual aprimora significativamente o suporte a restaurações pontuais.A visual backup timeline significantly enhances support for point-in-time restores. Essa linha de tempo visual permite que você identifique um momento viável como ponto de recuperação de destino para a restauração de um banco de dados.This visual timeline allows you to identify a feasible point in time as the target recovery point for restoring a database. A linha do tempo facilita a transposição de um caminho de recuperação bifurcado (um caminho que abrange bifurcações de recuperação).The timeline facilitates traversing a forked recovery path (a path that spans recovery forks). Um plano de restauração pontual inclui automaticamente os backups relevantes para a restauração do momento desejado (data e hora).A given point-in-time restore plan automatically includes the backups that are relevant to the restoring to your target point in time (date and time). Para obter mais informações, veja Restaurar um banco de dados do SQL Server em um ponto específico (Modelo de recuperação completa).For more information, see Restore a SQL Server Database to a Point in Time (Full Recovery Model).

Para obter mais informações, obtenha informações sobre o orientador de recuperação de banco de dados consultando os seguintes blogs sobre capacidade de gerenciamento do SQL ServerSQL Server :For more information, see about the Database Recovery Advisor, see the following SQL ServerSQL Server Manageability blogs:

Recuperação acelerada de banco de dadosAccelerated database recovery

O SQL Server 2019 versão prévia CTP 2.3 apresenta Recuperação acelerada de banco de dados para SQL Server local.SQL Server 2019 preview CTP 2.3 introduces Accelerated database recovery for SQL Server on-premises. A recuperação acelerada de banco de dados melhora significativamente a disponibilidade do banco de dados, especialmente na presença de transações de execução prolongada, remodelando o processo de recuperação do mecanismo de banco de dados do SQL Server.Accelerated database recovery greatly improves database availability, especially in the presence of long running transactions, by redesigning the SQL Server database engine recovery process. A recuperação de banco de dados é o processo que o SQL Server usa para cada banco de dados iniciar em um estado transacionalmente consistente – ou limpo.Database recovery is the process SQL Server uses for each database to start at a transactionally consistent - or clean - state. Um banco de dados, com a recuperação de banco de dados acelerada habilitada conclui a recuperação significativamente mais rápido após um failover ou outro desligamento não limpo.A database, with accelerated database recovery enabled, completes recovery significantly faster after a fail over or other non-clean shutdown.

Você pode habilitar a recuperação acelerada de banco de dados por banco de dados no SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 2.3 ou posterior usando a sintaxe a seguir:You can enable accelerated database recovery per-database on SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 2.3 or later using the following syntax:

ALTER DATABASE <db_name> SET ACCELERATED_DATABASE_RECOVERY = {ON | OFF}

Observação

Essa sintaxe não é necessária para tirar proveito desse recurso no BD SQL do Azure, em que ele é ativado por padrão.This syntax is not required to take advantage of this feature in Azure SQL DB, where it is on by default.

Se você tiver bancos de dados críticos que estão sujeitos a grandes quantidades de transações, faça experiências com esse recurso durante a versão prévia.If you have critical databases that are prone to large transactions, experiment with this feature during the preview. Forneça comentários à equipe do SQL ServerSQL Server.Provide feedback to SQL ServerSQL Server team.

Conteúdo relacionadoRelated Content

Nenhum.None.

Consulte TambémSee Also

Visão geral do backup (SQL Server)Backup Overview (SQL Server)