Restaurações por etapas (SQL Server)

Aplica-se a:SQL Server

Este tópico é relevante para bancos de dados na edição Enterprise do SQL 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.

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.

Arestauração por etapas permite que os bancos de dados que contêm vários grupos de arquivos sejam restaurados e recuperados em etapas. 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. A restauração por etapas mantém verificações para garantir que o banco de dados será consistente no final. 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.

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.

Toda restauração por etapas inicia com uma sequência inicial de restauração chamada de sequência de restauração parcial. 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. Durante a sequência de restauração por etapas, o banco de dados inteiro precisa estar offline. Depois disso, o banco de dados ficará online e os grupos de arquivos restaurados estarão disponíveis. No entanto, quaisquer grupos de arquivos não restaurados permanecerão offline e não serão acessíveis. No entanto, quaisquer grupos de arquivos offline poderão ser restaurados e colocados online mais tarde por uma restauração de arquivo.

Independentemente do modelo de recuperação usado pelo banco de dados, a sequência de restauração parcial começa com uma RESTOREDATABASE instrução que restaura um backup completo e especifica a opção PARTIAL. 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. 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.

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. Você pode esperar para executar uma sequência de restauração de grupos de arquivos específica o quanto quiser. 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. 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.

Os requisitos exatos para executar uma restauração por etapas dependem do modelo de recuperação do banco de dados. 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.

Cenários de restauração parcial

Todas as edições do SQL Server dão suporte a restauração por etapas offline. Na edição Enterprise, uma restauração por etapas pode ser online ou offline. As implicações das restaurações por etapas offline e online são as seguintes:

  • Cenário de restauração por etapas offline

    Em uma restauração por etapas offline, o banco de dados ficará online após a sequência de restauração parcial. 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.

  • Cenário de restauração por etapas online

    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. 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.

    Restaurações por etapas online podem envolver transações adiadas. 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. Isso é normal, porque o banco de dados inteiro deve ser consistente. Para obter mais informações, consulte Transações adiadas (SQL Server).

  • Cenário de restauração parcial do In-Memory OLTP

    Para obter informações sobre restauração parcial de bancos de dados OLTP na memória, consulte Backup e restauração parcial de bancos de dados com tabelas otimizadas para memória.

Restrições

Se uma sequência de restauração parcial excluir qualquer grupo de arquivos FILESTREAM , não haverá suporte para a restauração pontual. Você pode forçar a sequência de restauração a continuar. No entanto, os grupos de arquivos FILESTREAM que são omitidos de sua RESTORE instrução nunca podem ser restaurados. 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. 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.

Restauração parcial no modelo de recuperação simples

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. Então, se o backup restaurado for uma base diferencial, restaure o último backup diferencial a seguir.

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. Omitir um grupo de arquivos de leitura/gravação da sequência de restauração parcial só é apropriado nos seguintes casos:

  • Você pretende que os grupos de arquivos não restaurados sejam marcados como inutilizados.

  • A sequência de restauração chegará a um ponto de recuperação no qual cada grupo de arquivos não restaurado se tornou somente para leitura, foi removido ou se tornou obsoleto (durante uma restauração anterior na sequência de restauração parcial).

  • 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. 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.

Requisitos para uma restauração por etapas no modelo de recuperação simples

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. 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.

Depois disso, os grupos de arquivos somente leitura podem ser restaurados em uma ou mais fases adicionais.

A restauração por etapas só estará disponível para um grupo de arquivos secundário somente para leitura se as condições a seguir forem verdadeiras:

  • Estava em modo somente leitura no momento do backup.

  • Permaneceu somente leitura (mantendo-o logicamente consistente com o grupo de arquivos primário).

Para executar uma restauração por etapas, estas diretrizes devem ser seguidas:

  • Um conjunto completo de backups para a restauração por etapas de um banco de dados que usa o modelo de recuperação simples deve conter o seguinte:

    • Um backup parcial ou completo de banco de dados que contém o grupo de arquivos primário e todos os grupos de arquivos que estavam configurados para leitura/gravação no momento do backup.

    • Um backup de cada arquivo somente leitura.

  • Para que o backup de um arquivo somente leitura seja consistente com o grupo de arquivos primário, o grupo de arquivos secundário deve ter permanecido como somente leitura desde o momento em que foi submetido a backup até que o backup que contém o grupo de arquivos primário tenha sido concluído. Você pode usar backups de arquivos diferenciais, se eles foram realizados depois que os grupos de arquivos tornaram-se somente leitura.

Fases da restauração por etapas (modelo de recuperação simples)

O cenário da restauração por etapas envolve as seguintes fases:

  • Fase inicial (restaura e recupera o grupo de arquivos primário e todos os grupos de arquivos de leitura/gravação)

    A fase inicial executa uma restauração parcial. A sequência de restauração parcial restaura o grupo de arquivos primário, todos os grupos de arquivos secundários de leitura/gravação e, opcionalmente, alguns dos grupos de arquivos somente leitura. Durante a fase inicial, o banco de dados inteiro deve ir offline. Depois da fase inicial, o banco de dados estará online, e os grupos de arquivos restaurados estarão disponíveis. Entretanto, quaisquer grupos de arquivos somente leitura que ainda não tiverem sido restaurados, permanecerão offline.

    A primeira instrução RESTORE na fase inicial deve fazer o seguinte:

    • Use um backup parcial ou completo do banco de dados que contenha o grupo de arquivos primário e todos os grupos de arquivos que estavam configurados para leitura/gravação no momento do backup. É comum iniciar uma sequência de restauração parcial restaurando um backup parcial.

    • Especifique a opção PARTIAL, que indica o início de uma restauração por etapas.

    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.

    • Especifique a opção READ_WRITE_FILEGROUPS se o backup for um backup de banco de dados completo.
  • Enquanto o banco de dados estiver online, você poderá usar uma ou mais operações de restauração de arquivo online para restaurar e recuperar arquivos offline somente para leitura que estavam somente para leitura no momento do backup. A hora da restauração do arquivo online depende de quando você quer ter os dados online.

    Dependendo do seguinte, você precisará restaurar dados a um arquivo:

    • Arquivos válidos somente leitura, que estão consistentes com o banco de dados, podem ser colocados online diretamente por meio da recuperação, sem restaurar nenhum dado.

    • Arquivos que estão danificados ou inconsistentes com o banco de dados devem ser restaurados antes de serem recuperados.

Exemplos

Restauração parcial no modelo de recuperação completa

No modelo de recuperação completa ou no modelo de recuperação com registro em massa, a restauração parcial está disponível para qualquer banco de dados que contenha vários grupos de arquivos, e você pode restaurar um banco de dados até qualquer ponto no tempo. As sequências de restauração de uma restauração parcial funcionam da seguinte maneira:

  • sequência de restauração parcial

    A sequência de restauração parcial restaura o grupo de arquivos primário e, opcionalmente alguns dos grupos de arquivos secundários.

    A primeira RESTOREDATABASE instrução deve fazer o seguinte:

    • Especifique a opção PARTIAL. Isso indica o início de uma restauração por etapas.

    • Use qualquer backup de banco de dados completo que contenha o grupo de arquivos primário. A prática comum é iniciar uma sequência de restauração parcial restaurando um backup parcial.

    • Para restaurar a um ponto específico no tempo, você deve especificar a hora na sequência de restauração parcial. Cada etapa subsequente da sequência de restauração deve especificar o mesmo ponto no tempo.

  • Sequências de restauração de grupos de arquivos colocam grupos de arquivos adicionais online até um ponto consistente com o banco de dados.

    Na edição Enterprise, qualquer grupo de arquivos secundário offline pode ser restaurado e recuperado enquanto o banco de dados permanecer 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. Para obter mais informações, veja Recuperar um banco de dados sem restaurar dados (Transact-SQL).

Aplicando backups de log

Se um grupo de arquivos somente de leitura estiver nesse estado desde antes da criação do backup de arquivo, não é necessário aplicar backups de log ao grupo de arquivos, e essa etapa é ignorada durante a restauração de arquivo. 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. Saiba mais sobre a recuperação de banco de dados em Visão geral da restauração e recuperação (SQL Server).

Exemplos

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.

Você pode executar uma restauração fragmentada de um banco de dados que foi alterado do modelo de recuperação simples para o modelo de recuperação completa desde o backup parcial completo ou o backup completo do banco de dados. Por exemplo, considere um banco de dados para o qual você executa as seguintes etapas:

  1. Crie um backup parcial (backup_1) de um banco de dados modelo simples.

  2. Depois de algum tempo, altere o modelo de recuperação para completo.

  3. Crie um backup diferencial.

  4. Comece a fazer backups de log.

Depois disso, a sequência seguinte é válida:

  1. Uma restauração parcial omite alguns grupos de arquivos secundários.

  2. Uma restauração diferencial seguida de qualquer outra restauração necessária.

  3. Depois, uma restauração de arquivo de um grupo de arquivos de leitura/gravação secundário WITH NORECOVERY do backup parcial, backup_1

  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.

Confira também

Aplicar backups do log de transações (SQL Server)
RESTORE (Transact-SQL)
Restaurar um banco de dados do SQL Server até um ponto determinado (modelo de recuperação completa)
Visão geral da restauração e recuperação (SQL Server)
Planejar e realizar sequências de restauração (modelo de recuperação completa)
Visão geral da restauração e recuperação (SQL Server)