Copiar bancos de dados com backup e restauração

Aplica-se a:SQL Server

No SQL Server , é possível criar um novo banco de dados por meio da restauração de um backup de um banco de dados do usuário criado por meio do SQL Server 2005 (9.x) ou de uma versão posterior. No entanto, 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, 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 criados 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, veja 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 arquivos do banco de dados", mais adiante neste tópico.

Etapas gerais para usar 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 todas as plataformas na qual o SQL Server é executado.

As etapas 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 essa instância do SQL Server está sendo executada é o computador de origem.

  2. No computador no 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 do servidor de destino , crie os mesmos dispositivos usados para fazer o backup dos bancos de dados de origem .

  3. Restaure o backup do banco de dados de origem no computador de destino . 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 do 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, é possível especificar o mapeamento de dispositivos, nomes de arquivos ou caminho do banco de dados de restauração.

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

  • A estrutura do diretório ou o mapeamento da unidade usado pelo banco de dados no computador original não existe no outro computador. Por exemplo, talvez o backup contenha um arquivo que seria restaurado, por padrão, na unidade E, mas o computador de destino não tem uma unidade E.

  • O local de destino talvez não tenha espaço suficiente.

  • Você está reutilizando um nome de banco de dados que existe no destino de restauração e quaisquer de seus arquivos tem o mesmo nome que um arquivo de banco de dados no conjunto de backup. Ocorre uma das seguintes situações:

    • Se for possível, o arquivo de banco de dados existente será substituído (isso não afeta 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 na restauração.

Para evitar erros e consequências não intencionais, antes da operação de restauração, você pode usar a tabela de histórico backupfile para localizar o banco de dados e os arquivos de log no backup que você planeja restaurar.

Movendo os arquivos do banco de dados

Se os arquivos que estão no 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 estiverem sendo restaurados. Por exemplo:

  • Você deseja restaurar um banco de dados de backups criado 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 questões de capacidade. É uma ocorrência comum, porque a maioria dos computadores 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 um banco 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 e, portanto, é necessário especificar nomes de arquivo diferentes quando a cópia de banco de dados for criada durante a operação de restauração.

Para obter mais informações, consulte “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 quando for restaurado para o computador de destino, sem a necessidade de restaurar o banco de dados antes, para depois ter que alterá-lo manualmente. Por exemplo, pode ser necessário alterar o nome de banco de dados de Sales para SalesCopy para indicar que é uma cópia de um banco de dados.

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

Ao atualizar um banco de dados usando a restauração

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

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

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

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

Para obter informações sobre opções alternativas para atualizar índices de texto completo, veja Atualizar pesquisa de texto completo.

Propriedade de banco de dados

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

Gerenciando metadados ao restaurar em outra instância do servidor

Ao restaurar um banco de dados em outra instância do servidor, para oferecer uma experiência consistente aos usuários e aplicativos, talvez seja necessário recriar alguns ou todos os metadados para o banco de dados, como logons e trabalhos, na outra instância de servidor. Para obter mais informações, confira 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 arquivos e grupos de arquivos em um novo local

Restaurar arquivos e grupos de arquivos sobre arquivos existentes

Para restaurar um banco de dados com um novo nome

Para reinicializar uma operação de restauração interrompida

Alterar o proprietário do banco de dados

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

Confira também

Copiar bancos de dados para outros servidores
Locais de arquivos para instâncias padrão e nomeadas do SQL Server
RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)