Recuperar um banco de dados sem restaurar dados (Transact-SQL)
Aplica-se a: SQL Server
Normalmente, todos os dados em um banco de dados SQL Server são restaurados antes de o banco de dados ser recuperado. Porém, uma operação de restauração pode recuperar um banco de dados sem de fato restaurar um backup; por exemplo, ao recuperar um arquivo somente leitura que seja consistente com o banco de dados. Isso é chamado de uma restauração somente recuperação. Quando dados offline já são consistentes com o banco de dados e só precisam ser disponibilizados, uma operação de restauração somente recuperação conclui a recuperação do banco de dados e coloca os dados online.
Uma restauração somente recuperação pode ocorrer para um banco de dados inteiro ou para um ou mais arquivos ou grupos de arquivos.
Restauração de banco de dados somente recuperação
Uma restauração somente recuperação de banco de dados pode ser útil nas seguintes situações:
Você não recuperou o banco de dados ao restaurar o último backup em uma sequência de restauração, e agora quer recuperar o banco de dados para colocá-lo online.
O banco de dados está em modo de espera e você quer atualizá-lo sem aplicar outro backup de log.
A sintaxe RESTORE para a restauração de um banco de dados somente recuperação é a seguinte:
RESTORE DATABASE *database_name* WITH RECOVERY
Observação
A cláusula FFROM =<backup_device> não é usada em restaurações somente recuperação porque nenhum backup é necessário.
Exemplo
O exemplo a seguir recupera o banco de dados AdventureWorks2022
de amostra em uma operação de restauração sem restaurar dados.
-- Restore database using WITH RECOVERY.
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY
Restauração de arquivo somente recuperação
Uma restauração somente recuperação pode ser útil na situação seguinte:
Um banco de dados é restaurado por etapas. Depois da conclusão da restauração do grupo de arquivos primário, um ou mais dos arquivos não restaurados estão consistentes com o novo estado do banco de dados, talvez porque tenham sido somente leitura por algum tempo. Esses arquivos só precisam ser recuperados; a cópia de dados é desnecessária.
Uma operação de restauração somente recuperação coloca os dados do grupo de arquivos offline online; nenhuma fase de cópia de dados, refazer ou desfazer acontece. Para obter informações sobre as fases de restauração, confira Visão geral da restauração e recuperação (SQL Server).
A sintaxe RESTORE para a restauração de um arquivo somente recuperação é:
RESTORE DATABASE *database_name* { FILE **=**_logical_file_name_ | FILEGROUP **=**_logical_filegroup_name_ }[ **,**...*n* ] WITH RECOVERY
Exemplo
O exemplo a seguir ilustra uma restauração de arquivos somente recuperação de um grupo de arquivos secundário, SalesGroup2
, no banco de dados Sales
. O grupo de arquivos primário já foi restaurado como a etapa inicial de uma restauração por etapas e SalesGroup2
está consistente com o grupo de arquivos primário restaurado. Recuperar esse grupo de arquivos e colocá-lo online requer somente uma única instrução.
RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;
Exemplos de conclusão de um cenário de restauração por etapas com uma restauração somente recuperação
Modelo de recuperação simples
Exemplo: restauração de banco de dados por etapas (modelo de recuperação simples)
Exemplo: restauração por etapas de apenas alguns grupos de arquivos (modelo de recuperação simples)
Modelo de recuperação completa
Exemplo: restauração de banco de dados por etapas (modelo de recuperação completa)
Exemplo: restauração por etapas de apenas alguns grupos de arquivos (modelo de recuperação completa)
Confira também
Restauração online (SQL Server)
Restaurações por etapas (SQL Server)
Restaurações de arquivos (modelo de recuperação simples)
Restaurações de arquivo (modelo de recuperação completa)
RESTORE (Transact-SQL)
Visão geral da restauração e recuperação (SQL Server)