Partilhar via


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

Aplica-se a: SQL Server

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 log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_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 log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_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

Confira 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)