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çaObservaçã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çãoObservaçã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.

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 diferenciais e completos

ObservaçãoObservaçã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çãoObservaçã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çãoObservaçã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

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

RESTORE (Transact-SQL)

BACKUP (Transact-SQL)

sp_addumpdevice (Transact-SQL)

Conceitos

Backups de bancos de dados completos (SQL Server)

Backups diferenciais (SQL Server)

Visão geral de backup (SQL Server)

Visão geral da restauração e recuperação (SQL Server)