Restauração online (SQL Server)

Aplica-se a:SQL Server

Somente há suporte para a restauração online no SQL Server Enterprise Edition. Nessa edição, um arquivo, uma página ou uma restauração por etapas está online por padrão. Este tópico é pertinente para bancos de dados que contêm vários arquivos ou grupos de arquivos (e, no modelo de recuperação simples, somente para grupos de arquivos somente leitura).

A restauração de dados enquanto o banco de dados está online é chamada restauração online. O banco de dados é considerado online sempre que o grupo de arquivos primário estiver online, até mesmo se um ou mais de seus grupos de arquivos secundários estiver offline. Em qualquer modelo de recuperação, você poderá restaurar um arquivo que estiver offline enquanto o banco de dados estiver online. No modelo de recuperação completa, você também poderá restaurar páginas enquanto o banco de dados estiver online.

Observação

A restauração online acontece automaticamente no SQL Server Enterprise e não requer a ação do usuário. Se você não quiser usar a restauração online, coloque um banco de dados offline antes de iniciar uma restauração Para obter mais informações, consulte Colocando um banco de dados ou arquivo offline, adiante neste tópico.

Durante uma restauração de arquivo online, qualquer arquivo que esteja sendo restaurado e seu grupo de arquivo ficarão offline. Se quaisquer desses arquivos estiver online quando uma restauração online for iniciada, a primeira instrução de restauração colocará o grupo de arquivos do arquivo offline. Por outro lado, durante uma restauração de página online, só a página fica offline.

Todo cenário de restauração online envolve as seguintes etapas básicas:

  1. Restaurar os dados.

  2. Restaure o log usando WITH RECOVERY na última restauração do log. Isso coloca os dados restaurados online.

Ocasionalmente, uma transação não confirmada não pode ser revertida porque os dados necessários para a reversão estão offline durante a inicialização. Nesse caso, a transação é adiada. Para obter mais informações, consulte Transações adiadas (SQL Server).

Observação

Se o banco de dados estiver usando o modelo de recuperação bulk-logged, recomendamos que você mude para o modelo de recuperação completa antes de iniciar uma restauração online. Para obter mais informações, veja Exibir ou alterar o modelo de recuperação de um banco de dados (SQL Server).

Importante

Se os backups foram realizados com vários dispositivos que estavam anexados ao servidor, o mesmo número de dispositivos deverá estar disponível durante uma restauração online.

Cuidado

Ao usar backups por snapshot, não é possível executar uma Restauração Online. Para obter mais informações sobre backup por instantâneo, consulte Backups por Instantâneo de Arquivo para Arquivos de Banco de Dados no Azure.

Backups de logs para restauração online

Em uma restauração online, o ponto de recuperação é o momento em que os dados que estão sendo restaurados foram colocados offline ou tornados somente leitura pela última vez. Todos os backups do log de transações que antecedem e incluem este ponto de recuperação devem estar disponíveis. Geralmente, um backup de log é necessário depois desse ponto para cobrir o ponto de recuperação para o arquivo. A única exceção é durante uma restauração online de dados de somente leitura a partir de uma cópia de segurança dos dados feita depois que os dados se tornaram somente leitura. Nesse caso, você não precisa ter um backup de log.

Geralmente, você pode fazer backups de log de transações enquanto o banco de dados está online, até mesmo depois do início da sequência de restauração. O momento do último backup do log depende das propriedades do arquivo que está sendo restaurado:

  • Para um arquivo somente leitura online, você pode fazer o último backup de log que é necessário para a recuperação, antes ou durante a primeira sequência de restauração. Um grupo de arquivos somente leitura pode não exigir backups do log se um backup de dados ou um backup diferencial tiver sido realizado após o grupo de arquivos se tornar somente leitura.

    Observação

    A informações precedentes também são aplicadas a todos os arquivos offline.

  • Existe um caso especial para um arquivo de leitura/gravação que estava online quando a primeira instrução RESTORE foi executada e que, em seguida, foi automaticamente colocado offline por essa instrução RESTORE. Nesse caso, você deve fazer um backup de log durante a primeira sequência de restauração (a sequência de uma ou mais RESTORE instruções que restauram, revertem e recuperam dados). Geralmente, esse backup de log deve ocorrer depois que você restaurar todos os backups completos e antes de recuperar os dados. Porém, se houver vários backups de arquivo para um grupo de arquivos específico, o ponto mínimo de backup de log será depois que o grupo de arquivos estiver offline. Esse backup de log após a restauração de dados captura o ponto em que o arquivo foi colocado offline. O backup de log após a restauração de dados é necessário porque o Mecanismo de Banco de Dados do SQL Server não pode usar log online para uma restauração online.

    Observação

    Alternativamente, você pode colocar o arquivo offline manualmente antes da sequência de restauração. Para obter mais informações, consulte "Colocando um banco de dados ou arquivo offline", adiante neste tópico.

Colocando um banco de dados ou arquivo offline

Se você não quiser usar a restauração online, poderá colocar o banco de dados offline antes de iniciar a sequência de restauração usando um dos seguintes métodos:

  • Em qualquer modelo de recuperação, você pode tirar o banco de dados offline usando a seguinte ALTER DATABASE instrução:

    ALTER DATABASE Database_nameSET OFFLINE

  • Como alternativa, no modelo de recuperação completa, você pode forçar uma restauração de arquivo ou página a ficar offline usando a seguinte BACKUP instrução LOG, colocando o banco de dados no estado de restauração:

    BACKUP LOG database_name WITH NORECOVERY.

Desde que um banco de dados permaneça offline, todas as restaurações serão offline.

Exemplos

Observação

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

Tarefas Relacionadas

Confira também

Restaurações de arquivo (modelo de recuperação completa)
Restaurações de arquivos (modelo de recuperação simples)
Restaurar páginas (SQL Server)
Restaurações parciais (SQL Server)
Visão geral da restauração e recuperação (SQL Server)