Restaurações por etapas (SQL Server)Piecemeal Restores (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

Este tópico é relevante para os bancos de dados na edição Enterprise do SQL ServerSQL Server (restauração online) ou na edição Standard (restauração offline) que contêm vários arquivos ou grupos de arquivos; no modelo simples, ele é relevante apenas para grupos de arquivos somente leitura.This topic is relevant for databases in the Enterprise edition of SQL ServerSQL Server (online restore) or Standard edition (offline restore) that contain multiple files or filegroups; and, under the simple model, only for read-only filegroups.

Para obter informações sobre a restauração por etapas e as tabelas com otimização de memória, consulte Restauração por etapas de bancos de dados com tabelas com otimização de memória.For information about piecemeal restore and memory-optimized tables, see Piecemeal Restore of Databases With Memory-Optimized Tables.

Arestauração por etapas permite que os bancos de dados que contêm vários grupos de arquivos sejam restaurados e recuperados em etapas.Piecemeal restore allows databases that contain multiple filegroups to be restored and recovered in stages. A restauração por etapas envolve uma série de sequências de restauração, iniciando com o grupo de arquivos primário e, em alguns casos, com um ou mais grupos de arquivos secundários.Piecemeal restore involves a series of restore sequences, starting with the primary filegroup and, in some cases, one or more secondary filegroups. A restauração por etapas mantém verificações para garantir que o banco de dados será consistente no final.Piecemeal restore maintains checks to ensure that the database will be consistent in the end. Depois que a sequência de restauração é concluída, os arquivos recuperados, se forem válidos e consistentes com o banco de dados, poderão ser colocados online diretamente.After the restore sequence is completed, recovered files, if they are valid and consistent with the database, can be brought online directly.

A restauração por etapas trabalha com todos os modelos de recuperação, mas é mais flexível para os modelos completo e bulk-logged, do que para o modelo simples.Piecemeal restore works with all recovery models, but is more flexible for the full and bulk-logged models than for the simple model.

Toda restauração por etapas inicia com uma sequência inicial de restauração chamada de sequência de restauração parcial.Every piecemeal restore starts with an initial restore sequence called the partial-restore sequence. No mínimo, a sequência de restauração parcial restaura e recupera o grupo de arquivos primário e, no modelo simples de recuperação, todos os grupos de arquivos de leitura/gravação.Minimally, the partial-restore sequence restores and recovers the primary filegroup and, under the simple recovery model, all read/write filegroups. Durante a sequência de restauração por etapas, o banco de dados inteiro precisa estar offline.During the piecemeal-restore sequence, the whole database must go offline. Depois disso, o banco de dados ficará online e os grupos de arquivos restaurados estarão disponíveis.Thereafter, the database is online and restored filegroups are available. No entanto, quaisquer grupos de arquivos não restaurados permanecerão offline e não serão acessíveis.However, any unrestored filegroups remain offline and are not accessible. No entanto, quaisquer grupos de arquivos offline poderão ser restaurados e colocados online mais tarde por uma restauração de arquivo.Any offline filegroups, however, can be restored and brought online later by a file restore.

Independentemente do modelo de recuperação usado pelo banco de dados, a sequência de restauração parcial inicia com uma instrução RESTORE DATABASE que restaura um backup completo e especifica a opção PARTIAL.Regardless of the recovery model that is used by the database, the partial-restore sequence starts with a RESTORE DATABASE statement that restores a full backup and specifies the PARTIAL option. A opção PARTIAL sempre inicia uma nova restauração por etapas; portanto, você deve especificar PARTIAL só uma vez na instrução inicial da sequência de restauração parcial.The PARTIAL option always starts a new piecemeal restore; therefore, you must specify PARTIAL only one time in the initial statement of the partial-restore sequence. Quando a sequência de restauração parcial termina e o banco de dados é colocado online, o estado dos arquivos restantes ficam em "recuperação pendente" porque a sua recuperação foi adiada.When the partial restore sequence finishes and the database is brought online, the state of the remaining files becomes "recovery pending" because their recovery has been postponed.

Subsequentemente, uma restauração por etapas tipicamente inclui uma ou mais sequências de restauração que são chamadas sequências de restauração de grupos de arquivos.Subsequently, a piecemeal restore typically includes one or more restore sequences, which are called filegroup-restore sequences. Você pode esperar para executar uma sequência de restauração de grupos de arquivos específica o quanto quiser.You can wait to perform a specific filegroup-restore sequence for as long as you want. Cada sequência de restauração de grupos de arquivos restaura e recupera um ou mais grupos de arquivos offline a um ponto consistente com o banco de dados.Each filegroup-restore sequence restores and recovers one or more offline filegroups to a point consistent with the database. O tempo e número de sequências de restauração de grupos de arquivos dependem de sua meta de recuperação, o número de grupos de arquivos offline que você quer restaurar, e quantos deles você vai restaurar por sequência de restauração de grupos de arquivos.The timing and number of filegroup-restore sequences depends on your recovery goal, the number of offline filegroups you want to restore, and on how many of them you restore per filegroup-restore sequence.

Os requisitos exatos para executar uma restauração por etapas dependem do modelo de recuperação do banco de dados.The exact requirements for performing a piecemeal restore depend on the recovery model of the database. Para obter mais informações, veja "Restauração por etapas no modelo de recuperação simples" e "Restauração por etapas no modelo de recuperação completo", adiante neste tópico.For more information, see "Piecemeal Restore Under the Simple Recovery Model" and "Piecemeal Restore Under the Full Recovery Model," later in this topic.

Cenários de restauração por etapasPiecemeal Restore Scenarios

Todas as edições do SQL ServerSQL Server dão suporte a restauração por etapas offline.All editions of SQL ServerSQL Server support offline piecemeal restores. Na edição Enterprise, uma restauração por etapas pode ser online ou offline.In the Enterprise edition, a piecemeal restore can be either online or offline. As implicações de restauração por etapas offline são as seguintes:The implications of offline and online piecemeal restores are as follows:

  • Cenário de restauração por etapas offlineOffline piecemeal restore scenario

    Em uma restauração por etapas offline, o banco de dados ficará online após a sequência de restauração parcial.In an offline piecemeal restore, the database is online after the partial-restore sequence. Os grupos de arquivos que ainda não foram restaurados permanecem offline, mas eles podem ser restaurados quando você precisar deles, depois colocar o banco de dados offline.Filegroups that have not yet been restored remain offline, but they can be restored as you need them after taking the database offline.

  • Cenário de restauração por etapas onlineOnline piecemeal restore scenario

    Em uma restauração por etapas online, após a sequência de restauração parcial, o banco de dados está online e o grupo de arquivos primário e quaisquer grupos de arquivos secundários recuperados estão disponíveis.In an online piecemeal restore, after the partial-restore sequence, the database is online, and the primary filegroup and any recovered secondary filegroups are available. Os grupos de arquivos que ainda não foram restaurados permanecem offline, mas eles podem ser restaurados quando você precisar deles, enquanto o banco de dados permanecer online.Filegroups that have not yet been restored remain offline, but they can be restored as needed while the database remains online.

    Restaurações por etapas online podem envolver transações adiadas.Online piecemeal restores can involve deferred transactions. Quando apenas um subconjunto de grupos de arquivos foi restaurado, as transações no banco de dados que dependem de grupos de arquivos online podem ser adiadas.When only a subset of filegroups has been restored, transactions in the database that depend on online filegroups might become deferred. Isso é normal, porque o banco de dados inteiro deve ser consistente.This is typical, because the whole database must be consistent. Para obter mais informações, veja Transações adiadas (SQL Server).For more information, see Deferred Transactions (SQL Server).

  • OLTP na memória do SQL ServerSQL Server In-Memory OLTP cenários de restauração por etapaspiecemeal restore scenario

    Para obter informações sobre Restaurações por Etapas de bancos de dados OLTPin-memory, consulte Backup e restauração por etapas de bancos de dados com tabelas com otimização de memória.For information on Piecemeal Restores of In-Memory OLTP databases see Piecemeal Backup and Restore of Databases With Memory-Optimized Tables.

RestriçõesRestrictions

Se uma sequência de restauração parcial excluir qualquer grupo de arquivos FILESTREAM , não haverá suporte para a restauração pontual.If a partial restore sequence excludes any FILESTREAM filegroup, point-in-time restore is not supported. Você pode forçar a sequência de restauração a continuar.You can force the restore sequence to continue. Contudo, os grupos de arquivos FILESTREAM omitidos de sua instrução RESTORE nunca poderão ser restaurados.However the FILESTREAM filegroups that are omitted from your RESTORE statement can never be restored. Para forçar uma restauração pontual, especifique a opção CONTINUE_AFTER_ERROR juntamente com a opção STOPAT, STOPATMARK ou STOPBEFOREMARK, que você também deve especificar nas instruções RESTORE LOG subsequentes.To force a point-in-time restore, specify the CONTINUE_AFTER_ERROR option together with the STOPAT, STOPATMARK, or STOPBEFOREMARK option, which you must also specify in your subsequent RESTORE LOG statements. Se você especificar CONTINUE_AFTER_ERROR, a sequência de restauração parcial terá êxito e o grupo de arquivos FILESTREAM se tornará irrecuperável.If you specify CONTINUE_AFTER_ERROR, the partial restore sequence succeeds and the FILESTREAM filegroup becomes unrecoverable.

Restauração por etapas no modelo de recuperação simplesPiecemeal Restore Under the Simple Recovery Model

No modelo de recuperação simples, a sequência de restauração por etapas deve iniciar com um banco de dados completo ou um backup parcial.Under the simple recovery model, the piecemeal restore sequence must start with a full database or partial backup. Então, se o backup restaurado for uma base diferencial, restaure o último backup diferencial a seguir.Then, if the restored backup is a differential base, restore the latest differential backup next.

Durante a primeira sequência de restauração parcial, se você restaurar apenas um subconjunto de grupos de arquivos de leitura/gravação, quaisquer grupos de arquivos não restaurados estarão expirados quando você recuperar o banco de dados parcialmente restaurado.During the first partial restore sequence, if you restore only a subset of read/write filegroups, any unrestored filegroups become defunct when you recover the partially restored database. Omitir um grupo de arquivos de leitura/gravação da sequência de restauração parcial só é apropriado nos seguintes casos:Omitting a read/write filegroup from the partial-restore sequence is appropriate only in the following cases:

  • Você quer que os grupos de arquivos não restaurados se tornem expirados.You intend for the unrestored filegroups to become defunct.

  • A sequência de restauração chegará a um ponto de recuperação no qual cada grupo de arquivos não restaurado tornou-se somente leitura, cancelado ou expirado (durante uma restauração anterior na sequência de restauração parcial).The restore sequence will arrive at a recovery point at which each unrestored filegroup has become read-only, dropped, or defunct (during a previous restore in the partial-restore sequence).

  • O backup completo foi realizado enquanto o banco de dados estava usando o modelo de recuperação simples, mas o ponto de recuperação é no momento que o banco de dados estiver usando o modelo de recuperação completa.The full backup was taken while the database was using the simple recovery model, but the recovery point is at a time when the database is using the full recovery model. Para obter mais informações, consulte "Executando uma restauração por etapas de um banco de dados cujo modelo de recuperação foi trocado de simples para completo", adiante neste tópico.For more information, see "Performing a Piecemeal Restore of a Database Whose Recovery Model Has Been Switched from Simple to Full," later in this topic.

Requisitos para uma restauração por etapas no modelo de recuperação simplesRequirements for Piecemeal Restore Under the Simple Recovery Model

No modelo de recuperação simples, a fase inicial restaura e recupera o grupo de arquivos primário e todos os grupos de arquivos de leitura/gravação secundários.Under the simple recovery model, the initial stage restores and recovers the primary filegroup and all read/write secondary filegroups. Depois que a fase inicial é concluída, os arquivos recuperados, se forem válidos e consistentes com o banco de dados, poderão ser colocados online diretamente.After the initial stage is completed, recovered files, if they are valid and consistent with the database, can be brought online directly.

Depois disso, os grupos de arquivos somente leitura podem ser restaurados em uma ou mais fases adicionais.Thereafter, read-only filegroups can be restored in one or more additional stages.

A restauração por etapas só estará disponível para um grupo de arquivos secundário somente leitura caso os seguinte itens sejam verdadeiros:Piecemeal restore is available for a read-only secondary filegroup only if the following are true:

  • Era somente leitura quando o backup foi realizado.Was read-only when backed up.

  • Permaneceu somente leitura (mantendo-o logicamente consistente com o grupo de arquivos primário).Has remained read-only (keeping it logically consistent with the primary filegroup).

Para executar uma restauração por etapas, estas diretrizes devem ser seguidas:To perform a piecemeal restore, the following guidelines must be followed:

  • Um conjunto completo de backups para a restauração por etapas de um modelo de recuperação simples banco de dados deve conter o seguinte:A complete set of backups for the piecemeal restore of a simple recovery model database must contain the following:

    • Um backup de banco de dados parcial ou completo que contenha o grupo de arquivos primário e todos os grupos de arquivos, que eram leitura/gravação na hora do backup.A partial or full database backup that contains the primary filegroup and all filegroups that were read/write at the time of the backup.

    • Um backup de cada arquivo somente leitura.A backup of each read-only file.

  • Para o backup de um arquivo somente leitura ser consistente com o grupo de arquivos primário, os grupos de arquivos secundários deveriam permanecer somente leitura desde que o backup foi realizado até que o backup que contém o grupo de arquivos primário tenha sido concluído.For the backup of a read-only file to be consistent with the primary filegroup, the secondary filegroup must have been read-only from when it was backed up until the backup that contains the primary filegroup was completed. Você pode usar backups de arquivos diferenciais, se eles foram realizados depois que os grupos de arquivos tornaram-se somente leitura.You can use differential file backups, if they were taken after the filegroup became read-only.

Fases da restauração por etapas (modelo de recuperação simples)Piecemeal Restore Stages (Simple Recovery Model)

O cenário da restauração por etapas envolve as seguintes fases:The piecemeal restore scenario involves the following stages:

  • Fase inicial (restaura e recupera o grupo de arquivos primário e todos os grupos de arquivos de leitura/gravação)Initial stage (restore and recover the primary filegroup and all read/write filegroups)

    A fase inicial executa uma restauração parcial.The initial stage performs a partial restore. A sequência parcial de restauração restaura o grupo de arquivos primário, todos os grupos secundários de arquivos leitura/gravação, e (opcionalmente) alguns grupos de arquivos somente leitura.The partial restore sequence restores the primary filegroup, all read/write secondary filegroups, and (optionally) some of the read-only filegroups. Durante a fase inicial, o banco de dados inteiro deve ir offline.During the initial stage, the whole database must go offline. Depois da fase inicial, o banco de dados estará online, e os grupos de arquivos restaurados estarão disponíveis.After the initial stage, the database is online, and restored filegroups are available. Entretanto, quaisquer grupos de arquivos somente leitura que ainda não tiverem sido restaurados, permanecerão offline.However, any read-only filegroups that have not yet been restored, remain offline.

    A primeira instrução RESTORE da fase inicial deve fazer o seguinte:The first RESTORE statement in the initial stage must do the following:

    • Usar um backup de banco de dados parcial ou completo que contenha o grupo de arquivos primário e todos os grupos de arquivos que eram leitura/gravação na hora do backup.Use a partial or full database backup that contains the primary filegroup and all filegroups that were read/write at the time of the backup. É comum iniciar uma sequência de restauração parcial restaurando um backup parcial.It is common to start a partial restore sequence by restoring a partial backup.

    • Especifique a opção PARTIAL, que indica o início de uma restauração por etapas.Specify the PARTIAL option, which indicates the start of a piecemeal restore.

    Observação

    A opção PARTIAL executa verificações de segurança que garantem que o banco de dados resultante seja adequado para uso como um banco de dados de produção.The PARTIAL option performs safety checks that ensure that the resulting database is suited for use as a production database.

    • Especifique a opção READ_WRITE_FILEGROUPS se o backup for um backup de banco de dados completo.Specify the READ_WRITE_FILEGROUPS option if the backup is a full database backup.
  • Enquanto o banco de dados estiver online, você pode usar uma ou mais restaurações de arquivo online para restaurar e recuperar arquivos offline somente leitura que eram somente leitura na hora do backup.While the database is online, you can use one or more online file restores to restore and recover offline read-only files that were read-only at the time of backup. A hora da restauração do arquivo online depende de quando você quer ter os dados online.The timing of the online file restores depends on when you want to have the data online.

    Dependendo do seguinte, você precisará restaurar dados a um arquivo:Whether you must restore data to a file depends on the following:

    • Arquivos somente leitura válidos, que estão consistentes com o banco de dados podem ser colocados online diretamente pela recuperação, sem restaurar quaisquer dados.Valid read-only files that are consistent with the database can be brought online directly by recovering them without restoring any data.

    • Arquivos que estão danificados ou inconsistentes com o banco de dados devem ser restaurados antes de serem recuperados.Files that are damaged or inconsistent with the database must be restored before they are recovered.

ExemplosExamples

Restauração por etapas no modelo de recuperação completaPiecemeal Restore Under the Full Recovery Model

No modelo de recuperação completa ou bulk-logged, a restauração por etapas está disponível para qualquer banco de dados que contenha vários grupos de arquivo, e você pode restaurar um banco de dados para qualquer ponto especificado.Under the full recovery model or bulk-logged recovery model, piecemeal restore is available for any database that contains multiple filegroups and you can restore a database to any point in time. A sequência de restauração por etapas se comporta assim:The restore sequences of a piecemeal restore behave as follows:

  • sequência de restauração parcialPartial-restore sequence

    A sequência de restauração parcial restaura o grupo de arquivos primário e, opcionalmente alguns dos grupos de arquivos secundários.The partial restore sequence restores the primary filegroup and, optionally, some of the secondary filegroups.

    A primeira instrução RESTORE DATABASE na fase inicial deve fazer o seguinte:The first RESTORE DATABASE statement must do the following:

    • Especificar a opção PARTIAL.Specify the PARTIAL option. Isso indica o início de uma restauração por etapas.This indicates the start of a piecemeal restore.

    • Use qualquer backup de banco de dados completo que contenha o grupo de arquivos primário.Use any full database backup that contains the primary filegroup. A prática comum é iniciar uma sequência de restauração parcial restaurando um backup parcial.The common practice is to start a partial restore sequence by restoring a partial backup.

    • Para restaurar a um ponto específico no tempo, você deve especificar a hora na sequência de restauração parcial.To restore to a specific point in time, you must specify the time in the partial restore sequence. Todas as etapas seguintes da sequência de restauração devem mencionar o mesmo ponto especificado.Every successive step of the restore sequence must specify the same point in time.

  • Sequências de restauração de grupo de arquivos trazem grupos de arquivos online adicionais para um ponto consistente com o banco de dados.Filegroup-restore sequences bring additional filegroups online to a point consistent with the database.

    Na edição Enterprise, qualquer grupo de arquivos secundário offline pode ser restaurado e recuperado enquanto o banco de dados permanecer online.In the Enterprise edition, any offline secondary filegroup can be restored and recovered while the database remains online. Se um arquivo somente leitura específico não for danificado e for consistente com o banco de dados, o arquivo não terá de ser restaurado.If a specific read-only file is undamaged and consistent with the database, the file does not have to be restored. Para obter mais informações, veja Recuperar um banco de dados sem restaurar dados (Transact-SQL).For more information, see Recover a Database Without Restoring Data (Transact-SQL).

Aplicando backups de logApplying Log Backups

Se um grupo de arquivos somente leitura era somente leitura desde antes de o backup de arquivo ser criado, aplicar backups de log ao grupo de arquivos será desnecessário e é ignorado pela restauração de arquivo.If a read-only filegroup has been read-only since before the file backup was created, applying log backups to the filegroup is unnecessary and is skipped by file restore. Se o grupo de arquivos for leitura/gravação, uma cadeia ininterrupta de backups de log deve ser aplicada à última restauração completa ou diferencial, para trazer o grupo de arquivos para o arquivo de log atual.If the filegroup is read/write, an unbroken chain of log backups must be applied to the last full or differential restore to bring the filegroup forward to the current log file. Saiba mais sobre a recuperação de banco de dados em Visão geral da restauração e recuperação (SQL Server).For more information about the recovery process, see Restore and Recovery Overview (SQL Server).

ExemplosExamples

Para obter mais informações, consulte "Executando uma restauração por etapas de um banco de dados cujo modelo de recuperação foi trocado de simples para completo", adiante neste tópico.Performing a Piecemeal Restore of a Database Whose Recovery Model Has Been Switched from Simple to Full

Você pode executar uma restauração por etapas de um banco de dados que foi trocado do modelo de recuperação simples para o modelo de recuperação completa, a partir do backup de banco de dados completo ou parcial.You can perform a piecemeal restore of a database that has been switched from the simple recovery model to the full recovery model since the full partial or database backup. Por exemplo, considere um banco de dados para o qual você executa as seguintes etapas:For example, consider a database for which you take the following steps:

  1. Crie um backup parcial (backup_1) de um banco de dados modelo simples.Create a partial backup (backup_1) of a simple-model database.

  2. Depois de algum tempo, altere o modelo de recuperação para completo.After some time, change the recovery model to full.

  3. Crie um backup diferencial.Create a differential backup.

  4. Comece a fazer backups de log.Start taking log backups.

Depois disso, a sequência seguinte é válida:Thereafter, the following sequence is valid:

  1. Uma restauração parcial omite alguns grupos de arquivos secundários.A partial restore that omits some secondary filegroups.

  2. Uma restauração diferencial seguida por qualquer outra restauração necessária.A differential restore followed by any other needed restores.

  3. Depois, uma restauração de arquivo de um grupo de arquivos de leitura/gravação secundário WITH NORECOVERY do backup parcial, backup_1Later, a file restore of a read/write secondary filegroup WITH NORECOVERY from the backup_1 partial backup

  4. O backup diferencial seguido por quaisquer outros backups que foram restaurados pela sequência de restauração por etapas original, para restaurar os dados até o ponto de recuperação original.The differential backup followed by any other backups that were restored in the original piecemeal restore sequence to restore the data up to the original recovery point.

Consulte TambémSee Also

Aplicar backups de log de transações (SQL Server) Apply Transaction Log Backups (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Restaurar um banco de dados do SQL Server em um ponto específico (Modelo de recuperação completa) Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Visão geral de restauração e recuperação (SQL Server) Restore and Recovery Overview (SQL Server)
Planejar e executar sequências de restauração (Modelo de recuperação completa) Plan and Perform Restore Sequences (Full Recovery Model)
Visão geral da restauração e recuperação (SQL Server)Restore and Recovery Overview (SQL Server)