Partilhar via


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.

Importante

Não é recomendável anexar ou restaurar bancos de dados de origem desconhecida ou não confiável. Esses bancos de dados podem conter código mal-intencionado que pode executar código Transact-SQL não intencional ou causar erros modificando o esquema ou a estrutura de banco de dados física. Antes de usar um banco de dados de 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.

Observação

Para obter informações sobre suporte para backups de versões anteriores do SQL Server, veja 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.

Restaurando apenas um backup de banco de dados completo

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.

Restaurando backups de banco de dados completos e diferenciais

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 de RESTORE do Transact-SQL

A sintaxe básica transact-SQLRESTORE 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 primeiro 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 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  

Related Tasks

Para restaurar um backup de banco de dados completo

Para restaurar um backup de banco de dados diferencial

Para restaurar um backup usando o SQL Server Management Objects (SMO)

Consulte Também

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Backups de bancos de dados completos (SQL Server)
Backups diferenciais (SQL Server)
Backup Overview (SQL Server)
Visão geral da restauração e recuperação (SQL Server)