Copiar bancos de dados com backup e restauração

 

ESTE TÓPICO APLICA-SE A:simSQL Server (começando com o 2016)nãoBanco de Dados SQL do AzurenãoAzure SQL Data Warehouse nãoParallel Data Warehouse

No SQL Server 2016, é 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 ou de uma versão posterior. No entanto, backups de master, model e msdb que foram criados em uma versão anterior do SQL Server não podem ser restaurados pelo SQL Server 2016. Além disso, backups do SQL Server 2016 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.

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 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:

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.

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.

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

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

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.

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 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)

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

Contribuições da comunidade

ADICIONAR
Mostrar: