Partilhar via


Copiar bancos de dados com backup e restauração

Aplica-se a:SQL Server

No SQL Server, você pode criar um novo banco de dados restaurando um backup de um banco de dados de usuário criado usando o SQL Server 2005 (9.x) ou uma versão posterior. No entanto, os backups de mestre, modelo e msdb que foram criados usando uma versão anterior do SQL Server não podem ser restaurados pelo SQL Server. Além disso, os backups do SQL Server não podem ser restaurados por nenhuma versão anterior do SQL Server.

Importante

O SQL Server 2016 usa um caminho padrão diferente das versões anteriores. Portanto, para restaurar backups de um banco de dados criado no local padrão de versões anteriores, você deve 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. Para obter mais informações sobre como mover arquivos de banco de dados, consulte "Movendo os arquivos de banco de dados", mais adiante neste tópico.

Etapas gerais para usar o Backup e Restauração para copiar um banco de dados

Quando você usa backup e restauração para copiar um banco de dados para outra instância do SQL Server, os computadores de origem e de destino podem ser qualquer plataforma na qual o SQL Server é executado.

Os passos gerais são:

  1. Faça backup do banco de dados de origem, que pode residir em uma instância do SQL Server 2005 (9.x) ou posterior. O computador no qual esta instância do SQL Server está sendo executada é o computador de origem.

  2. No computador para o qual você deseja copiar o banco de dados (o computador de destino), conecte-se à instância do SQL Server na qual você planeja restaurar o banco de dados. Se necessário, na instância de servidor de destino , crie os mesmos dispositivos de backup que foram usados para o backup dos bancos de dados de origem .

  3. Restaure o backup do banco de dados de de origem do no de destino computador. A restauração do banco de dados cria automaticamente todos os arquivos de banco de dados.

Algumas considerações adicionais que podem afetar esse processo:

Antes de restaurar arquivos de banco de dados

A restauração de um banco de dados cria automaticamente os arquivos de banco de dados necessários para o banco de dados de restauração. Por padrão, os arquivos criados pelo SQL Server durante o processo de restauração usam os mesmos nomes e caminhos que os arquivos de backup do banco de dados original no computador de origem.

Opcionalmente, ao restaurar o banco de dados, você pode especificar o mapeamento de dispositivo, nomes de arquivo ou caminho para o banco de dados de restauração.

Isso pode ser necessário nas seguintes situações:

  • A estrutura de diretórios ou mapeamento de unidade usado pelo banco de dados no computador original não existe no novo computador. Por exemplo, talvez o backup contenha um arquivo que seria restaurado para a unidade E por padrão, mas o computador de destino não possui uma unidade E.

  • O local de destino pode ter espaço insuficiente.

  • Você está reutilizando um nome de banco de dados que existe no destino de restauração e qualquer um de seus arquivos é nomeado o mesmo que um arquivo de banco de dados no conjunto de backup, ocorre uma das seguintes situações:

    • Se o arquivo de banco de dados existente puder ser substituído, ele será substituído (isso não afetaria um arquivo que pertence a um nome de banco de dados diferente).

    • Se o arquivo existente não puder ser substituído, ocorrerá um erro de restauração.

Para evitar erros e consequências desagradáveis, antes da operação de restauração, você pode usar a tabela backupfile history para descobrir o banco de dados e os arquivos de log no backup que você planeja restaurar.

Movendo os arquivos de banco de dados

Se os arquivos dentro do backup do banco de dados não puderem ser restaurados no computador de destino, será necessário mover os arquivos para um novo local enquanto eles estão sendo restaurados. Por exemplo:

  • Você deseja restaurar um banco de dados a partir de backups criados no local padrão da versão anterior.

  • Pode ser necessário restaurar alguns dos arquivos de banco de dados no backup para uma unidade diferente devido a considerações de capacidade. Esta é uma ocorrência comum porque a maioria dos computadores dentro de uma organização não tem o mesmo número e tamanho de unidades de disco ou configurações de software idênticas.

  • Pode ser necessário criar uma cópia de uma base de dados existente no mesmo computador para fins de teste. Nesse caso, os arquivos de banco de dados para o banco de dados original já existem, portanto, nomes de arquivo diferentes devem ser especificados quando a cópia do banco de dados é criada durante a operação de restauração.

Para obter mais informações, consulte "Para restaurar arquivos e grupos de arquivos para um novo local", mais adiante neste tópico.

Alterando o nome do banco de dados

O nome do banco de dados pode ser alterado à medida que é restaurado para o computador de destino, sem ter que restaurar o banco de dados primeiro e, em seguida, alterar o nome manualmente. Por exemplo, pode ser necessário alterar o nome do banco de dados de Sales para SalesCopy para indicar que se trata de uma cópia de um banco de dados.

O nome do banco de dados fornecido explicitamente quando você restaura um banco de dados é usado automaticamente como o novo nome do banco de dados. Como o nome do banco de dados ainda não existe, um novo é criado usando os arquivos no backup.

Ao atualizar um banco de dados usando Restaurar

Ao restaurar cópias de segurança de uma versão anterior, é útil saber com antecedência se o caminho (unidade e diretório) de cada um dos catálogos de texto completo num backup existe no computador de destino. Para listar os nomes lógicos e nomes físicos, caminho e nome de arquivo) de cada arquivo em um backup, incluindo os arquivos de catálogo, use uma instrução RESTORE FILELISTONLY FROM <backup_device>. Para obter mais informações, consulte RESTORE FILELISTONLY (Transact-SQL).

Se o mesmo caminho não existir no computador de destino, você terá duas alternativas:

  • Crie o mapeamento de unidade/diretório equivalente no computador de destino.

  • Mova os arquivos de catálogo para um novo local durante a operação de restauração, usando a cláusula WITH MOVE na instrução RESTORE DATABASE. Para obter mais informações, consulte RESTORE (Transact-SQL).

Para obter informações sobre opções alternativas para atualizar índices de texto completo, consulte Upgrade Full-Text Pesquisar.

Propriedade do banco de dados

Quando um banco de dados é restaurado em outro computador, o logon do SQL Server ou o usuário do Microsoft Windows que inicia a operação de restauração torna-se o proprietário do novo banco de dados automaticamente. Quando o banco de dados é restaurado, o administrador do sistema ou o novo proprietário do banco de dados pode alterar a propriedade do banco de dados. Para impedir a restauração não autorizada de um banco de dados, use mídia ou senhas de conjunto de backup.

Gerenciando metadados ao restaurar para outra instância do servidor

Ao restaurar um banco de dados em outra instância do servidor, para fornecer uma experiência consistente aos usuários e aplicativos, talvez seja necessário recriar alguns ou todos os metadados do banco de dados, como logons e trabalhos, na outra instância do servidor. Para obter mais informações, consulte gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server).

Exibir os dados e arquivos de log em um conjunto de backup

Restaurar ficheiros e grupos de ficheiros para uma nova localização

Restaurar ficheiros e grupos de ficheiros sobre ficheiros existentes

Restaurar um banco de dados com um novo nome

Reiniciar uma operação de restauração interrompida

Alterar o proprietário do banco de dados

Copiar um banco de dados usando o SQL Server Management Objects (SMO)

Ver também

Copiar Bancos de Dados para Outros Servidores
Locais de Arquivo para Instâncias Padrão e Nomeadas do SQL Server
RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)