KB2839722-os nomes de arquivo do banco de dados são alterados quando você restaura um banco de dados usando a opção WITH REPLACE no SQL Server 2012

Sintomas

Quando você restaura um banco de dados de um backup usando a opção with Replace no Microsoft SQL Server 2012, os nomes de arquivo físico do banco de dados restaurado provenientes do banco de dados de backup podem substituir os nomes de arquivo físicos do banco de dados existente. Por exemplo, considere o seguinte cenário:

  • Você tem duas instâncias do SQL Server, instancea e InstanceB.

  • Você tem um banco de dados com o mesmo nome, SQLDB, em cada instância do SQL Server.

  • Em ocorrência, o nome do arquivo de dados do banco de dados do SQLDB é DB1_InstanceA. MDF e o nome do arquivo de log é DB1_InstanceA. ldf.

  • No InstanceB, o nome do arquivo de dados do banco de dados do SQLDB é DB1_InstanceB. MDF e o nome do arquivo de log é DB1_InstanceB. ldf.

  • Você tenta restaurar um backup do banco de dados do SQLDB de instância sobre o banco de dados do SQLDB do InstanceB usando a opção with Replace do comando restaurar .

Nesse cenário, os nomes de arquivo físico em SQLDB em InstanceB são alterados para DB1_InstanceA. MDF e DB1_InstanceA. ldf. 

Causa

Esse comportamento é por design no SQL Server 2012.

Solução alternativa

Para contornar esse problema, não use a opção with Replace do comando Restore . Em vez disso, use a opção with move .Observação A opção with move fornece uma opção para alterar o nome do arquivo físico.

Informações adicionais

A opção with move é necessária somente na primeira vez que você usa o comando restaurar . Quando você tenta restaurar um banco de dados do backup, o SQL Server compara os valores de bifurcação de recuperação do banco de dados. Em seguida, o conjunto de backup assume as seguintes ações, dependendo se esses valores são correspondentes:

  • Se houver uma correspondência, o conjunto de backup continuará a usar os nomes de arquivo do banco de dados de destino.

  • Se os valores forem diferentes, o conjunto de backup substituirá os nomes de arquivo físicos do banco de dados de destino usando os nomes do conjunto de backup.

Quando você usa a opção with move juntamente com o comando restaurar , as seguintes ações são executadas:

  1. Uma nova bifurcação de recuperação é criada no servidor de destino.

  2. Na próxima operação de restauração, as IDs de bifurcação de recuperação do conjunto de backup são compatíveis com as IDs do servidor de destino.

  3. Um comando de restauração usado em conjunto com a opção with Replace mantém os nomes físicos no servidor de destino.

Para obter mais informações sobre o comando restaurar , consulte restaurar (Transact-SQL)

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×