Partilhar via


Exemplo: Restauração Fragmentada da Base de Dados (Modelo de Recuperação Completa)

Aplica-se a:SQL Server

Uma sequência de restauro fragmentado restaura e recupera uma base de dados em etapas ao nível do grupo de ficheiros, começando pelos grupos de ficheiros primários e todos os secundários de leitura-escrita.

Neste exemplo, a base de dados adb é restaurada num novo computador após um desastre. A base de dados utiliza o modelo completo de recuperação; Portanto, antes do início da restauração, deve ser feita uma cópia de segurança tail-log da base de dados. Antes do desastre, todos os grupos de ficheiros estavam online. O grupo B de ficheiros é apenas de leitura. Todos os grupos de ficheiros secundários devem ser restaurados, mas são restaurados por ordem de importância: A (mais alto), C, e por último B. Neste exemplo, existem quatro backups de log, incluindo o backup tail-log.

Tail-Log Backup

Antes de restaurar a base de dados, o administrador da base de dados deve fazer uma cópia de segurança da cauda do registo. Como a base de dados está danificada, criar o backup tail-log requer usar a opção NO_TRUNCATE:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

A cópia de segurança do tail-log é a última a ser aplicada nas sequências de restauração seguintes.

Restaurar Sequências

Observação

A sintaxe para uma sequência de restauro online é a mesma que para uma sequência de restauro offline.

  1. Restauro parcial do grupo Ade ficheiros primário e secundário .

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

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

    As mensagens da última RESTORE LOG instrução no passo 1 indicam que o rollback de transações que envolvem grupos C de ficheiros foi adiado, porque este grupo de ficheiros não está disponível. As operações regulares podem continuar, mas os bloqueios são mantidos por estas transações e o truncamento dos logs não ocorrerá até que o rollback seja concluído.

    Na segunda sequência de restauro, o administrador da base de dados restaura o grupo Cde ficheiros :

    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 primário A e o grupo de ficheiros C estão online. Os ficheiros no grupo B de ficheiros permanecem pendentes de recuperação, com o grupo de ficheiros offline. As transações diferidas foram resolvidas e ocorre truncamento do log.

  3. Restauração online do grupo Bde ficheiros .

Na terceira sequência de restauro, o administrador da base de dados restaura o grupo Bde ficheiros . A cópia de segurança do grupo de ficheiros B foi feita depois de o grupo de ficheiros se tornar apenas de leitura; portanto, não precisa de ser avançada durante a recuperação.

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

Todos os grupos de ficheiros estão agora online.

Exemplos adicionais

Ver também

CÓPIA DE SEGURANÇA (Transact-SQL)
Restauração Online (SQL Server)
Aplicar backups do log de transações (SQL Server)
RESTAURAR (Transact-SQL)
Restaurações Parciais (SQL Server)