Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo descreve como restaurar um banco de dados do SQL Server para um novo local e, opcionalmente, renomear o banco de dados no SQL Server usando o SSMS (SQL Server Management Studio) ou o Transact-SQL. Você pode mover um banco de dados para um novo caminho ou criar uma cópia de um banco de dados na mesma instância do servidor ou em uma instância de servidor diferente.
Limitações
- O administrador do sistema que restaura um backup de banco de dados completo deve ser a única pessoa a usar o banco de dados a ser restaurado.
Pré-requisitos
Ao usar o modelo de recuperação completo ou bulk-logged, antes de restaurar um banco de dados, você deve fazer backup do log de transações ativo. Para obter mais informações, consulte Fazer backup de um log de transações.
Para restaurar um banco de dados criptografado, você deve ter acesso ao certificado ou à chave assimétrica usada para criptografar o banco de dados. Sem esse certificado ou chave assimétrica, você não pode restaurar o banco de dados. Você deve manter o certificado usado para criptografar a chave de criptografia do banco de dados enquanto precisar do backup. Para obter mais informações, consulte certificados do SQL Server e chaves assimétricas.
Recomendações
Para outras considerações sobre como mover um banco de dados, consulte Copiar bancos de dados com backup e restauração.
Se você restaurar um banco de dados SQL Server 2005 (9.x) ou superior para o SQL Server, ele será atualizado automaticamente. Normalmente, o banco de dados se torna disponível imediatamente. No entanto, se um banco de dados do SQL Server 2005 (9.x) tiver índices de texto completo, o processo de atualização importará, redefinirá ou recriará, dependendo da configuração da propriedade do
upgrade_optionservidor. Se a opção de atualização estiver definida para importar (upgrade_option = 2) ou recompilar (upgrade_option = 0), os índices de texto completo ficarão indisponíveis durante a atualização. Dependendo da quantidade de dados a ser indexada, a importação poderá levar várias horas e a recompilação poderá ser até dez vezes mais demorada. Além disso, quando a opção de atualização é definida para importar, os índices de texto completo associados são recriados se um catálogo de texto completo não estiver disponível. Para alterar a configuração da propriedade doupgrade_optionservidor, use sp_fulltext_service.
Segurança
Para fins de segurança, não recomendamos que você anexe ou restaure bancos de dados de fontes desconhecidas ou não confiáveis. 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 do banco de dados físico. 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.
Permissões
Se o banco de dados que está sendo restaurado não existir, o usuário deverá ter CREATE DATABASE permissões para poder executar RESTORE. Se o banco de dados existir, RESTORE as permissões serão padrão para membros das funções de servidor fixas sysadmin e dbcreator e o proprietário (dbo) do banco de dados.
RESTORE as permissões são fornecidas a funções nas quais as informações de associação estão sempre prontamente disponíveis para o servidor. Como a associação de função de banco de dados fixa só pode ser verificada quando o banco de dados está acessível e não danificado, o que nem sempre é o caso quando RESTORE é executado, os membros do db_owner função de banco de dados fixa não têm RESTORE permissões.
Restaurar um banco de dados para um novo local e, opcionalmente, renomear o banco de dados usando o SSMS
Conecte-se à instância apropriada do Mecanismo de Banco de Dados do SQL Server e, em seguida, no Pesquisador de Objetos, selecione o nome do servidor para expandir a árvore do servidor.
Clique com o botão direito do mouse em Bancos de Dados e selecione Restaurar Banco de Dados.... A caixa de diálogo Restaurar Banco de Dados é aberta.
Na página Geral , na seção Origem , especifique a origem e o local dos conjuntos de backup a serem restaurados. Selecione uma das opções a seguir:
Backup de banco de dados
Selecione o banco de dados a ser restaurado na lista suspensa. A lista contém apenas bancos de dados com backup de acordo com o histórico de
msdbbackup.Observação
Se o backup for criado a partir de um servidor diferente, o servidor de destino não terá as informações de histórico de backup do banco de dados especificado. Nesse caso, selecione Dispositivo para especificar manualmente o arquivo ou o dispositivo a ser restaurado.
Dispositivo
Selecione o botão procurar (...) para abrir a caixa de diálogo Selecionar dispositivos de backup . Na caixa Tipo de mídia de backup , selecione um dos tipos de dispositivo listados. Para selecionar um ou mais dispositivos da caixa Mídia de backup, selecione Adicionar.
Depois de adicionar os dispositivos que deseja adicionar à lista de mídia de Backup , selecione OK para retornar à página Geral .
Na Origem: Dispositivo: lista de banco de dados, selecione o nome do banco de dados que deve ser restaurado.
Observação
Essa lista só estará disponível quando o dispositivo estiver selecionado. Somente os bancos de dados que têm backups no dispositivo selecionado estão disponíveis.
Na seção Destino , a caixa Banco de Dados é preenchida automaticamente com o nome do banco de dados a ser restaurado. Para alterar o nome do banco de dados, digite o novo nome na caixa Banco de Dados .
Na caixa Restaurar para , deixe o padrão para o último backup feito ou selecione Linha do Tempo para acessar a caixa de diálogo Linha do Tempo de Backup para selecionar manualmente um ponto no tempo para interromper a ação de recuperação. Consulte a linha do tempo do Backup para obter mais informações sobre como designar um ponto específico no tempo.
Na grade Conjuntos de backup a serem restaurados , selecione os backups a serem restaurados. Essa grade exibe os backups disponíveis para o local especificado. Por padrão, um plano de recuperação é sugerido. Para substituir o plano de recuperação sugerido, você pode alterar as seleções na grade. Backups que dependem da restauração de um backup anterior têm a seleção automaticamente cancelada quando a seleção do backup anterior é cancelada.
Para obter informações sobre as colunas nos conjuntos de backup para restaurar a grade, consulte Restaurar Banco de Dados (página Geral).
Para especificar o novo local dos arquivos de banco de dados, selecione a página Arquivos e depois Realocar todos os arquivos para pasta. Forneça um novo local para a Pasta do arquivo de dados e Pasta do arquivo de log. Para obter mais informações sobre essa grade, consulte Restaurar banco de dados (página Arquivos).
Na página Opções , ajuste as opções se desejar. Para obter mais informações sobre essas opções, consulte Restaurar banco de dados (página Opções).
Restaurar o banco de dados para um novo local e, opcionalmente, renomear o banco de dados usando T-SQL
Opcionalmente, determine os nomes lógicos e físicos dos arquivos no conjunto de backup que contém o backup completo de banco de dados que você deseja restaurar. Esta instrução mostra a sintaxe básica para retornar uma lista dos arquivos de banco de dados e de log contidos no conjunto de backup:
RESTORE FILELISTONLY FROM backup_device WITH FILE = *backup_set_file_numberAqui, backup_set_file_number indica a posição do backup no conjunto de mídias. Você pode obter a posição de um conjunto de backup por meio da instrução RESTORE HEADERONLY . Veja mais informações em Especificando um conjunto de backup.
Essa instrução também dá suporte a várias
WITHopções. Para obter mais informações, consulte RESTORE FILELISTONLY.Use a instrução RESTORE DATABASE para restaurar o backup completo do banco de dados. Por padrão, os arquivos de dados e de log são restaurados em seus locais originais. Para realocar um banco de dados, use a opção
MOVEpara realocar cada um dos arquivos de banco de dados e evitar colisões com arquivos existentes.
A sintaxe Transact-SQL básica para restaurar o banco de dados para um novo local com um novo nome é:
RESTORE DATABASE <new_database_name>
FROM <backup_device> [ , ...n ]
[ WITH
{
[ RECOVERY | NORECOVERY ]
[ , ] [ FILE = { <backup_set_file_number> | @backup_set_file_number } ]
[ , ] MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [ , ...n ]
} ]
[ ; ]
Observação
Ao se preparar para realocar um banco de dados em um disco diferente, você deve verificar se espaço suficiente está disponível e identificar todas as colisões potenciais com arquivos existentes. Essa verificação envolve o uso de instruções RESTORE – instrução VERIFYONLY que especifica os mesmos MOVE parâmetros que você planeja usar em sua RESTORE DATABASE instrução.
As informações a seguir descrevem os argumentos dessa RESTORE instrução relacionados à restauração de um banco de dados para um novo local. Para obter mais informações sobre esses argumentos, consulte Instruções RESTORE.
new_database_name
O novo nome do banco de dados.
Observação
Se você estiver restaurando o banco de dados para uma instância de servidor diferente, poderá usar o nome do banco de dados original em vez de um novo nome.
backup_device [ , ... n ]
Especifica uma lista separada por vírgulas entre 1 e 64 dispositivos de backup dos quais o backup do banco de dados deve ser restaurado. Você pode especificar um dispositivo de backup físico ou especificar um dispositivo de backup lógico correspondente, se um for definido. Para especificar um dispositivo de backup físico, use a opção ou TAPE a opçãoDISK:
{ DISCO | TAPE } = physical_backup_device_name
Para obter mais informações, consulte Dispositivos de backup.
{ RECOVERY | NORECOVERY }
Se o banco de dados usar o modelo de recuperação completa, você poderá precisar aplicar backups de log de transações depois de restaurar o banco de dados. Nesse caso, especifique a opção NORECOVERY .
Caso contrário, use a opção RECOVERY , que é o padrão.
FILE = { backup_set_file_number | @backup_set_file_number }
Identifica o conjunto de backup a ser restaurado. Por exemplo, um backup_set_file_number indica o primeiro conjunto de 1 backup no meio de backup e um backup_set_file_number indica o segundo conjunto de 2 backup. Você pode obter o backup_set_file_number de um conjunto de backup usando as instruções RESTORE – instrução HEADERONLY .
Quando essa opção não está especificada, o padrão é usar o primeiro conjunto de backup no dispositivo de backup.
Para obter mais informações, consulte argumentos RESTORE (Transact-SQL).
MOVER 'logical_file_name_in_backup' para 'operating_system_file_name' [ , ... n ]
Especifica que os dados ou o arquivo de log especificados por logical_file_name_in_backup ele devem ser restaurados para o local especificado por operating_system_file_name. Especifique uma MOVE instrução para cada arquivo lógico que você deseja restaurar do conjunto de backup para um novo local.
| Opção | Descrição |
|---|---|
logical_file_name_in_backup |
Especifica o nome lógico de um arquivo de log ou de dados no conjunto de backup. O nome do arquivo lógico de um arquivo de log ou de dados em um conjunto de backup corresponde ao seu nome lógico no banco de dados quando o conjunto de backup foi criado. Observação: para obter uma lista dos arquivos lógicos do conjunto de backup, use instruções RESTORE – FILELISTONLY. |
operating_system_file_name |
Especifica um novo local para o arquivo especificado por logical_file_name_in_backup. O arquivo é restaurado neste local.Opcionalmente, operating_system_file_name especifica um novo nome de arquivo para o arquivo restaurado. Um novo nome será necessário se você estiver criando uma cópia de um banco de dados existente na mesma instância do servidor. |
n |
Um espaço reservado que indica que você pode especificar instruções adicionais MOVE . |
Exemplo (Transact-SQL)
Este exemplo cria um novo banco de dados nomeado MyAdvWorks restaurando um backup do AdventureWorks2022 banco de dados de exemplo, que inclui dois arquivos: AdventureWorks2022_Data e AdventureWorks2022_Log. Esse banco de dados usa o modelo de recuperação simples. O banco de dados AdventureWorks2022 já existe na instância do servidor, portanto, os arquivos no backup devem ser restaurados em um novo local. A RESTORE FILELISTONLY instrução é usada para determinar o número e os nomes dos arquivos no banco de dados que está sendo restaurado. O backup do banco de dados é o primeiro conjunto de backup no dispositivo de backup.
Observação
Os exemplos de backup e restauração do log de transações, incluindo restaurações pontuais, usam o MyAdvWorks_FullRM banco de AdventureWorks2022dados criado, assim como no exemplo a seguir MyAdvWorks . No entanto, o banco de dados resultante MyAdvWorks_FullRM deve ser alterado para usar o modelo de recuperação completa usando a seguinte instrução Transact-SQL: ALTER DATABASE <database_name> SET RECOVERY FULL.
USE master;
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks2022_Backup is the name of the backup device.
RESTORE FILELISTONLY
FROM AdventureWorks2022_Backup;
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
FROM AdventureWorks2022_Backup
WITH RECOVERY,
MOVE 'AdventureWorks2022_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',
MOVE 'AdventureWorks2022_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf';
GO
Para obter um exemplo de como criar um backup de banco de dados completo do AdventureWorks2022 banco de dados, consulte Criar um backup de banco de dados completo.
Tarefas relacionadas
- Criar um backup de banco de dados completo
- Restaurar um backup de banco de dados usando o SSMS
- Fazer backup de um log de transações
- Restaurar um backup de log de transações (SQL Server)