Partilhar via


Restaurações Completas da Base de Dados (Modelo de Recuperação Simples)

Aplica-se a:SQL Server

Numa restauração completa da base de dados, o objetivo é restaurar toda a base de dados. Toda a base de dados está offline durante a duração da restauração. Antes de qualquer parte da base de dados poder entrar online, todos os dados são recuperados até um ponto consistente em que todas as partes da base de dados estão no mesmo momento e não existem transações não comprometidas.

No modelo de recuperação simples, a base de dados não pode ser restaurada a um ponto específico dentro de uma cópia de segurança específica.

Importante

Recomendamos que não anexe nem restaure bases de dados de fontes desconhecidas ou não confiáveis. Estas bases de dados podem conter código malicioso que pode executar código Transact-SQL não intencional ou causar erros ao modificar o esquema ou a estrutura física da base de dados. Antes de usar um banco de dados de uma fonte desconhecida ou não confiável, execute DBCC CHECKDB no banco de dados em um servidor que não seja de produção e também examine o código, como procedimentos armazenados ou outro código definido pelo usuário, no banco de dados.

Neste Tópico:

Observação

Para informações sobre suporte a backups de versões anteriores do SQL Server, consulte a secção "Suporte de Compatibilidade" do RESTORE (Transact-SQL).

Visão geral da restauração de bases de dados sob o modelo simples de recuperação

Uma restauração completa da base de dados sob o modelo de recuperação simples envolve uma ou duas instruções RESTORE , dependendo se pretende restaurar uma cópia de segurança diferencial da base de dados. Se estiver a usar apenas uma cópia de segurança completa da base de dados, basta restaurar a cópia de segurança mais recente, como mostrado na ilustração seguinte.

Restaurar apenas uma cópia de segurança completa da base de dados

Se também estiver a usar um backup de base de dados diferencial, restaure o backup completo mais recente sem recuperar a base de dados, e depois restaure o backup diferencial mais recente e recupere a base de dados. A ilustração seguinte mostra este processo.

Restauração de backups de bases de dados completas e diferenciais

Observação

Se planeia restaurar uma cópia de segurança da base de dados numa instância de servidor diferente, consulte Copiar Bases de Dados com Backup e Restauro.

A sintaxe básica do Transact-SQL RESTORE

A sintaxebásica Transact-SQL RESTORE para restaurar uma cópia de segurança completa da base de dados é:

RESTAURAR BASE DE DADOS database_name A PARTIR DE backup_device [ SEM RECUPERAÇÃO ]

Observação

Use o WITH NORECOVERY se planeia também restaurar uma cópia de segurança diferencial da base de dados.

A sintaxe básica RESTORE para restaurar uma cópia de segurança de uma base de dados é:

RESTAURAR BASE DE DADOS database_name A PARTIR DE backup_device COM RECUPERAÇÃO

Exemplo (Transact-SQL)

O exemplo seguinte mostra primeiro como usar a instrução BACKUP para criar uma cópia de segurança completa da base de dados e uma cópia de segurança diferencial da AdventureWorks2025 base de dados. O exemplo restaura então esses backups em sequência. A base de dados é restaurada ao seu estado no momento em que o backup diferencial da base de dados terminou.

O exemplo mostra as opções críticas numa sequência de restauro para o cenário completo de restauro da base de dados. Uma sequência de restauro consiste numa ou mais operações de restauro que transferem os dados por uma ou mais fases da restauração. A sintaxe e os detalhes que não são relevantes para este propósito são omitidos. Ao recuperar uma base de dados, recomendamos especificar explicitamente a opção RECUPERAÇÃO para maior clareza, mesmo sendo a predefinida.

Observação

O exemplo começa com uma instrução ALTER DATABASE que define o modelo de recuperação para SIMPLE.

USE master;  
--Make sure the database is using the simple recovery model.  
ALTER DATABASE AdventureWorks2022 SET RECOVERY SIMPLE;  
GO  
-- Back up the full AdventureWorks2022 database.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
  WITH FORMAT;  
GO  
--Create a differential database backup.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'  
   WITH DIFFERENTIAL;  
GO  
--Restore the full database backup (from backup set 1).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=1, NORECOVERY;  
--Restore the differential backup (from backup set 2).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=2, RECOVERY;  
GO  

Tarefas relacionadas

Para restaurar uma cópia de segurança completa da base de dados

Para restaurar um backup de base de dados diferencial

Para restaurar uma cópia de segurança utilizando SQL Server Management Objects (SMO)

Ver também

RESTAURAR (Transact-SQL)
CÓPIA DE SEGURANÇA (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Backups Completos da Base de Dados (SQL Server)
Backups Diferenciais (SQL Server)
Visão geral do Backup (SQL Server)
Visão geral da restauração e recuperação (SQL Server)