Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
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.
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
Restaurar uma Cópia de Segurança da Base de Dados sob o Modelo de Recuperação Simples (Transact-SQL)
Restaurar uma Base de Dados para uma Nova Localização (SQL Server)
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)