Restaurações completas de banco de dados (modelo de recuperação simples)
Em uma restauração completa de banco de dados, a meta é restaurar todo o banco de dados. O banco de dados inteiro fica offline durante a restauração. Antes que qualquer parte do banco de dados possa ficar online, todos os dados são recuperados a um ponto consistente, no qual todas as partes do banco de dados estejam no mesmo momento determinado e não exista nenhuma transação não confirmada.
No modelo de recuperação simples, o banco de dados não poderá ser restaurado para um momento determinado específico durante um backup específico.
Observação sobre segurança |
---|
É recomendável que você não anexe ou restaure bancos de dados de origens desconhecidas ou não confiáveis. Esses bancos de dados podem conter códigos mal-intencionados que podem executar códigos Transact-SQL inesperados ou causar erros que modifiquem o esquema ou a estrutura física do banco de dados. Antes de usar um banco de dados de uma origem desconhecida ou não confiável, execute DBCC CHECKDB no banco de dados, em um servidor que não seja de produção. Além disso, examine o código, como procedimentos armazenados ou outro código definido pelo usuário, no banco de dados. |
Neste tópico:
Visão geral da restauração de banco de dados no modelo de recuperação simples
Tarefas relacionadas
Observação |
---|
Para obter informações sobre suporte para backups de versões anteriores do SQL Server, consulte a seção "Suporte de compatibilidade" de RESTORE (Transact-SQL). |
Visão geral da restauração de banco de dados no modelo de recuperação simples
Uma restauração de banco de dados completa no modelo de recuperação simples envolve uma ou duas instruções RESTORE, dependendo se você deseja restaurar um backup de banco de dados diferencial. Se você estiver usando somente um backup de banco de dados completo, simplesmente restaure o backup mais recente, conforme mostrado na ilustração abaixo.
Se você também estiver usando um backup de banco de dados diferencial, restaure o backup de banco de dados completo mais recente sem recuperar o banco de dados, e em seguida restaure o backup de banco de dados diferencial mais recente e recupere o banco de dados. A ilustração a seguir mostra este processo.
Observação |
---|
Se você pretende restaurar um backup de banco de dados em uma instância de servidor diferente, consulte Copiar bancos de dados com backup e restauração. |
Sintaxe básica RESTORE do Transact-SQL
A sintaxe básica Transact-SQL RESTORE para restaurar um backup de banco de dados completo é:
RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]
Observação |
---|
Use WITH NORECOVERY se você também planeja restaurar um backup de banco de dados diferencial. |
A sintaxe básica RESTORE para restaurar um backup de banco de dados é:
RESTORE DATABASE database_name FROM backup_device WITH RECOVERY
Exemplo (Transact-SQL)
O exemplo a seguir mostra inicialmente como usar a instrução BACKUP para criar um backup de banco de dados completo e um backup de banco de dados diferencial do banco de dados do AdventureWorks2012 . O exemplo restaura em seguida estes backups em sequência. O banco de dados é restaurado a seu estado a partir do momento em que o backup de banco de dados diferencial é concluído.
O exemplo mostra as opções críticas em uma sequência de restauração referentes a um cenário de restauração de banco de dados completa. Uma sequência de restauração consiste em uma ou mais operações de restauração que movem dados por uma ou mais etapas da restauração. Sintaxe e detalhes que não sejam relevantes para esse propósito são omitidos. Quando você recupera um banco de dados, nós recomendamos especificar explicitamente a opção RECOVERY para que haja melhor clareza, mesmo que este seja o padrão.
Observação |
---|
O exemplo inicia com uma instrução ALTER DATABASE que define o modelo de recuperação como SIMPLE. |
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks2012 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2012 database.
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE=2, RECOVERY;
GO
[Início]
Tarefas relacionadas
Para restaurar um backup de banco de dados completo
Restaurar um backup de banco de dados no modelo de recuperação simples (Transact-SQL)
Restaurar um backup de banco de dados (SQL Server Management Studio)
Para restaurar um backup de banco de dados diferencial
Para restaurar um backup usando o SQL Server Management Objects (SMO)
[Início]
Consulte também
Referência
sp_addumpdevice (Transact-SQL)
Conceitos
Backups de bancos de dados completos (SQL Server)
Backups diferenciais (SQL Server)