Partilhar via


Restaurar arquivos para um novo local (SQL Server)

Aplica-se a:SQL Server

Este tópico descreve como restaurar arquivos para um novo local no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.

Neste tópico

Antes de começar

Limitações e Restrições

  • O administrador do sistema que restaura os arquivos deve ser a única pessoa atualmente usando o banco de dados a ser restaurado.

  • RESTORE não é permitido numa transação explícita ou implícita.

  • No modelo de recuperação completa ou bulk-logged, antes de restaurar ficheiros, deve-se efetuar uma cópia de segurança do log de transações ativo (conhecido tecnicamente como a cauda do log). Para obter mais informações, consulte Fazer cópia de segurança de um registo de transações (SQL Server).

  • 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 o certificado ou a chave assimétrica, o banco de dados não pode ser restaurado. Como resultado, o certificado usado para criptografar a chave de criptografia do banco de dados deve ser mantido enquanto o backup for necessário. Para obter mais informações, consulte Certificados do SQL Server e Chaves Assimétricas.

Segurança

Permissões

Se o banco de dados que está sendo restaurado não existir, o usuário deve ter permissões CREATE DATABASE para poder executar RESTORE. Se o banco de dados existir, as permissões RESTORE têm como padrão os membros das funções de servidor fixas sysadmin e dbcreator, bem como o proprietário (dbo) do banco de dados (para a opção FROM DATABASE_SNAPSHOT, o banco de dados sempre existe).

As permissões RESTORE são dadas a funções nas quais as informações de associação estão sempre prontamente disponíveis para o servidor. Como a associação à função de banco de dados fixa pode ser verificada somente quando o banco de dados está acessível e sem danos, o que nem sempre é o caso quando RESTORE é executado, os membros da função de banco de dados fixa db_owner não têm permissões RESTORE.

Usando o SQL Server Management Studio

Para restaurar ficheiros para uma nova localização

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server, expanda essa instância e expanda Bancos de Dados.

  2. Clique com o botão direito do rato na base de dados pretendida, escolha Tarefas, selecione Restaurare, em seguida, clique em Ficheiros e Grupos de Ficheiros.

  3. Na página Geral, na caixa de lista Para base de dados, insira a base de dados a restaurar. Você pode inserir um novo banco de dados ou escolher um banco de dados existente na lista suspensa. A lista inclui todos os bancos de dados no servidor, excluindo os bancos de dados do sistema master e tempdb.

  4. Para especificar a origem e o local dos conjuntos de backup a serem restaurados, clique em uma das seguintes opções:

    • Do banco de dados

      Insira um nome de banco de dados na caixa de listagem. Esta lista contém apenas bases de dados que foram alvo de backup de acordo com o histórico de backup do msdb.

    • Do dispositivo

      Clique no botão Procurar. Na caixa de diálogo Especificar dispositivos de backup, selecione um dos tipos de dispositivo listados na lista tipo de mídia de backup. Para selecionar um ou mais dispositivos para a caixa de listagem de mídia de Backup , clique em Adicionar.

      Depois de adicionar os dispositivos desejados à caixa de listagem de Backup de mídia , clique em OK para retornar à página Geral .

  5. Na grelha Selecione os conjuntos de backup a serem restaurados, selecione os backups a serem restaurados. Essa grade exibe os backups disponíveis para o local especificado. Por defeito, é sugerido um plano de recuperação. Para substituir o plano de recuperação sugerido, podes alterar as seleções na tabela. Quaisquer backups que dependem de um backup desselecionado são desselecionados automaticamente.

    Cabeça da coluna Valores
    Restaurar As caixas de seleção selecionadas indicam os conjuntos de backup a serem restaurados.
    Nome O nome do conjunto de backup.
    Tipo de arquivo Especifica o tipo de dados no backup: Data, Logou Filestream Data. Os dados contidos em tabelas estão em arquivos de dados. Os dados do log de transações estão em arquivos de log. Os dados de objeto binário grande (BLOB) armazenados no sistema de arquivos estão em arquivos de dados Filestream.
    Tipo O tipo de backup executado: Full, Differentialou Transaction Log.
    Servidor O nome da instância de Database-Engine que executou a operação de backup.
    Nome lógico do arquivo O nome lógico do arquivo.
    Base de Dados O nome do banco de dados envolvido na operação de backup.
    Data de início A data e a hora em que a operação de backup começou, apresentadas na configuração regional do cliente.
    Data de término A data e hora em que a operação de backup terminou, apresentada na configuração regional do cliente.
    Tamanho O tamanho do conjunto de backup em bytes.
    Nome de Utilizador O nome do usuário que executou a operação de backup.
  6. No painel Selecionar uma página, clique na página Opções .

  7. Na grade Restaurar arquivos de banco de dados como, especifique um novo local para o arquivo ou arquivos que você deseja mover.

    Cabeça da coluna Valores
    Nome do arquivo original O caminho completo de um arquivo de backup de origem.
    Tipo de arquivo Especifica o tipo de dados no backup: Data, Logou Filestream Data. Os dados contidos em tabelas estão em ficheiros de dados . Os dados do log de transações estão em ficheiros de log . Os objetos binários grandes (BLOB) armazenados no sistema de arquivos estão em arquivos de dados Filestream.
    Restaurar Como O caminho completo do arquivo de banco de dados a ser restaurado. Para especificar um novo arquivo de restauração, clique na caixa de texto e edite o caminho e o nome do arquivo sugeridos. Alterar o caminho ou o nome do ficheiro na coluna Restaurar Como é equivalente a usar a opção MOVE em uma instrução Transact-SQL RESTORE.
  8. Selecione OK.

Usando Transact-SQL

Para restaurar ficheiros para uma nova localização

  1. Opcionalmente, execute a instrução RESTORE FILELISTONLY para determinar o número e os nomes dos arquivos no backup completo do banco de dados.

  2. Execute a instrução RESTORE DATABASE para restaurar o backup completo do banco de dados, especificando:

    • O nome do banco de dados a ser restaurado.

    • O dispositivo de backup a partir do qual o backup completo do banco de dados será restaurado.

    • A cláusula MOVE para cada arquivo a ser restaurado para um novo local.

    • A cláusula NORECOVERY.

  3. Se os arquivos tiverem sido modificados após a criação do backup do arquivo, execute a instrução RESTORE LOG para aplicar o backup do log de transações, especificando:

    • O nome do banco de dados ao qual o log de transações será aplicado.

    • O dispositivo de backup a partir do qual o backup do log de transações será restaurado.

    • A cláusula NORECOVERY se você tiver outro backup de log de transações para aplicar após o atual; caso contrário, especifique a cláusula RECOVERY.

      Os backups do log de transações, se aplicados, devem cobrir o tempo em que os arquivos e grupos de arquivos foram submetidos a backup.

Exemplo (Transact-SQL)

Este exemplo restaura dois dos arquivos do banco de dados MyNwind originalmente localizados na Unidade C para novos locais na Unidade D. Dois logs de transações também serão aplicados para restaurar o banco de dados para a hora atual. A instrução RESTORE FILELISTONLY é usada para determinar o número e os nomes lógicos e físicos dos arquivos no banco de dados que está sendo restaurado.

USE master;  
GO  
-- First determine the number and names of the files in the backup.  
RESTORE FILELISTONLY  
   FROM MyNwind_1;  
-- Restore the files for MyNwind.  
RESTORE DATABASE MyNwind  
   FROM MyNwind_1  
   WITH NORECOVERY,  
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf',   
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf';  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log2  
   WITH RECOVERY;  
GO  

Ver também

restaurar um backup de banco de dados usando o SSMS
RESTORE (Transact-SQL)
Copiar bancos de dados com backup e restauração
Restaurar arquivos e grupos de arquivos (SQL Server)