Copiando bancos de dados com backup e restauração

No SQL Server 2008 R2, é possível criar um novo banco de dados restaurando um backup de banco de dados criado com o SQL Server 2000, SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2. Porém, backups de mestre, modelo e msdb que foram criados usando SQL Server 2000 ou SQL Server 2005 não podem ser restaurados pelo SQL Server 2008 R2. Além disso, backups do SQL Server 2008 R2 não podem ser restaurados por nenhuma versão anterior do SQL Server.

Os backups de banco de dados que foram criados usando o SQL Server 7.0 ou anterior estão em um formato incompatível e não podem ser restaurados no SQL Server 2008 R2. Para obter informações sobre como migrar um banco de dados que foi criado usando o SQL Server versão 6.5 ou anterior para SQL Server 2005, consulte Copiando bancos de dados do SQL Server 7.0 ou anterior.

Observação importanteImportante

O SQL Server 2008 e o SQL Server 2008 R2 usam um caminho padrão diferente do das versões anteriores. No entanto, para restaurar um banco de dados que foi criado no local padrão do SQL Server 2000 ou do SQL Server 2005, por backups, é necessário 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 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 2000, do SQL Server 2005, do SQL Server 2008 ou do SQL Server 2008 R2. O computador no qual essa instância de SQL Server está sendo executada é o computador de origem.

  2. No computador para o qual você quer copiar o banco de dados (o computador de destino), conecte-se à instância de 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.

Os tópicos a seguir abordam 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 que são necessários para o banco de dados de restauração. Por padrão, os arquivos que são 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 original. Para evitar erros e consequências não intencionais, antes de restaurar a operação descubra quais arquivos são criados automaticamente pela operação de restauração, porque:

  • os nomes de arquivo talvez já existam no computador, causando um erro.

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

  • A estrutura de diretório ou mapeamento da unidade podem não existir no computador.

    Por exemplo, o backup contém um arquivo que precisa ser restaurado na unidade E, mas o computador de destino não tem uma unidade E.

  • Se os arquivos de banco de dados puderem ser substituídos, qualquer banco de dados e arquivos existentes com os mesmos nomes daqueles que estão no backup serão substituídos, a menos que esses arquivos pertençam a um banco de dados diferente.

Observação sobre cuidadosCuidado

Caso reutilize um nome e um destino de banco de dados existente e se os arquivos puderem ser substituídos, os arquivos com os mesmos nomes daqueles que estão no backup serão substituídos.

Ao restaurar o banco de dados, se necessário, é possível especificar o mapeamento do dispositivo, os nomes de arquivos ou o caminho para o banco de dados de restauração.

Movendo os arquivos do banco de dados

Se os arquivos dentro do backup de banco de dados não puderem ser restaurados no computador de destino pelas razões mencionadas anteriormente, 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 do SQL Server 2000 ou do SQL Server 2005.

  • Pode ser necessário restaurar alguns dos arquivos de banco de dados no backup para uma unidade diferente, devido a questões de capacidade. É provável que isso seja 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 do SQL Server 2000 ou do SQL Server 2005, é ú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 nomes físicos, caminho e nome de arquivo, de todos os arquivos de um backup, inclusive 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:

  • 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, consulte RESTORE (Transact-SQL).

Para obter informações sobre opções alternativas para atualizar índices de texto completo, consulte Atualização da pesquisa de texto completo.

Propriedade de banco de dados

Quando um banco de dados é restaurado em outro computador, o logon SQL Server ou usuário Windows Microsoft 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. Para obter mais informações, consulte Considerações de segurança para backup e restauração.

Administrando 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, consulte Gerenciando metadados ao disponibilizar um banco de dados em outra instância do servidor.

Para exibir os dados e arquivos de log em um conjunto de backup

Para restaurar arquivos e grupos de arquivos em um novo local

Para restaurar arquivos e grupos de arquivos sobre arquivos existentes

Para restaurar arquivos e grupos de arquivos em um novo local

Para restaurar um banco de dados com um novo nome

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

Para alterar o proprietário de um banco de dados

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