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. Restaurar o log usando WITH RECOVERY da última restauração de 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 de instantâneo, não é possível executar uma Restauração Online. Para obter mais informações sobre Backup de instantâneo, veja Backups de instantâneos de arquivos para arquivos de banco de dados no Azure.

Backups de log para restauração online

Em uma restauração online, o ponto de recuperação é o ponto quando os dados que estão sendo restaurados foram colocados offline ou como somente leitura pela última vez. Todos os backups de log de transações que levam a e incluem esse 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 somente leitura de um backup de dados realizado depois que os dados tornaram-se 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 controle de tempo do último backup de log depende das propriedades do arquivo que estiver 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 necessitar backups de log se um backup de dados ou diferencial tiver sido realizado depois que os grupos de arquivos tornaram-se 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 de restauração foi emitida e automaticamente colocada offline por essa instrução de restauração. Nesse caso, faça um backup de log durante a primeira sequência de restauração (a sequência de uma ou mais instruções RESTORE que restauram, efetuam roll-forward 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 colocar o banco de dados offline usando a seguinte instrução ALTER DATABASE :

    ALTER DATABASE database_name SET OFFLINE

  • Alternativamente, no modelo de recuperação completa, você pode forçar uma restauração de arquivo ou página a ficar offline, usando a seguinte instrução BACKUP 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.

Related Tasks

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 por etapas (SQL Server)
Visão geral da restauração e recuperação (SQL Server)