Partilhar via


Executando uma restauração completa de banco de dados (modelo de recuperação simples)

Em uma restauração completa de banco de dados, o objetivo é 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.

Restaurando um banco de dados inteiro

  1. Uma restauração de banco de dados completa no modelo de recuperação simples envolve somente uma ou duas instruções RESTORE , dependendo se um backup de banco de dados diferencial precisar ser restaurado.

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

Deverá ser usada uma sequência de restauração ao restaurar completamente um banco de dados. O exemplo a seguir mostra as opções críticas em uma sequência de restauração para 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 fases de restauração. Sintaxe e detalhes que não sejam relevantes a esse propósito são omitidos.

O banco de dados é restaurado para seu estado como um backup de banco de dados completo. 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.

Exemplo

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 AdventureWorks2008R2. O exemplo restaura em seguida estes backups em sequência.

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 AdventureWorks2008R2 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2008R2 database.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=2, RECOVERY;
GO

Para restaurar um backup de banco de dados completo

A sintaxe básica RESTORE para restaurar um backup de banco de dados é:

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.

Observação importanteImportante

Quando você restaurar um backup de banco de dados em uma instância de servidor diferente, consulte Copiando bancos de dados com backup e restauração e Gerenciando metadados ao disponibilizar um banco de dados em outra instância do servidor.

Para restaurar um backup de banco de dados diferencial

A sintaxe básica RESTORE para restaurar um backup de banco de dados diferencial é:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

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

Suporte para backups de versões anteriores do SQL Server

No SQL Server 2008, é possível restaurar um backup de banco de dados que foi criado usando o SQL Server 2000, SQL Server 2005 ou o SQL Server 2008. Porém, backups master, model e msdb que foram criados usando-se SQL Server 2000 ou SQL Server 2005 não podem ser restaurados pelo SQL Server 2008. Além disso, backups do SQL Server 2008 não podem ser restaurados por nenhuma versão anterior do SQL Server.

O SQL Server 2008 usa um caminho padrão diferente das versões anteriores. Assim, para restaurar um banco de dados que foi criado no local padrão dos backups do SQL Server 2000 ou do SQL Server 2005, deve-se usar a opção MOVE. Para obter informações sobre o novo caminho padrão, consulte Locais de arquivos para instâncias padrão e nomeadas do SQL Server.

ObservaçãoObservação

Para obter informações sobre como atualizar um banco de dados que foi criado usando o SQL Server versão 7.0 ou anterior a SQL Server 2005, consulte Copiando bancos de dados do SQL Server 7.0 ou anterior.