Partilhar via


Exemplo: Restauração de banco de dados por etapas (modelo de recuperação completa)

Uma sequência de restauração por etapas restaura e recupera um banco de dados em etapas no nível do grupo de arquivos, começando pelo grupo de arquivos primário e todos os grupos de arquivo secundários de leitura e gravação.

Nesse exemplo, o banco de dados adb é restaurado em um computador novo depois de um desastre. O banco de dados está usando o modelo de recuperação completa; portanto, antes do início da restauração, um backup do final do log deve ser extraído do banco de dados. Antes do desastre, todos os grupos de arquivos estão online. O grupo de arquivos B é somente leitura. Todos os grupos de arquivos secundários precisam ser restaurados, mas são restaurados em ordem de importância: A (mais alto), C, e por fim B. Nesse exemplo, há quatro backups de log, inclusive o backup do final do log.

Backup do final do log

Antes de restaurar o banco de dados, o administrador do banco de dados deve fazer backup do final do log. Como o banco de dados está danificado, é preciso usar a opção NO_TRUNCATE para criar o backup do final do log:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

O backup do final do log é o último backup aplicado nas sequências de restauração a seguir.

Sequências da restauração

Observação

A sintaxe para uma sequência de restauração online é igual à de uma sequência de restauração offline.

  1. Restauração parcial do grupo de arquivos primário e secundário A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. Restauração online do grupo de arquivos C.

    Neste momento, o grupo de arquivos primário e o grupo de arquivos secundário A estão online. Todos os arquivos nos grupos de arquivos B e C estão em recuperação pendente e os grupos de arquivos estão offline.

    Mensagens da última instrução RESTORE LOG na etapa 1 indicam que a reversão das transações que envolvem o grupo de arquivos C foi adiada, porque o grupo de arquivos não está disponível. As operações regulares podem continuar, mas bloqueios são mantidos por essas transações e o truncamento de log não acontecerá até que a reversão esteja concluída.

    Na segunda sequência de restauração, o administrador de banco de dados restaura o grupo de arquivos C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    Neste momento, o grupo de arquivos primário e os grupos de arquivos A e C estão online. Os arquivos no grupo de arquivos B permanecem em recuperação pendente, com o grupo de arquivos offline. As transações adiadas foram resolvidas e o truncamento de log acontece.

  3. Restauração online do grupo de arquivos B.

    Na terceira sequência de restauração, o administrador de banco de dados restaura o grupo de arquivos B. O backup do grupo de arquivos B foi realizado depois de o grupo de arquivos tornar-se somente leitura; portanto, não tem de efetuar roll forward durante a recuperação.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  
    

    Todos os grupos de arquivos agora estão online.

Exemplos adicionais

Consulte Também

BACKUP (Transact-SQL)
Restauração online (SQL Server)
Aplicar backups de log de transações (SQL Server)
RESTORE (Transact-SQL)
Restaurações por etapas (SQL Server)