Criar uma nova base de dados a partir de uma cópia de segurança de outra base de dados no mesmo servidor?

estou a tentar criar uma nova base de dados a partir de uma cópia de segurança antiga da base de dados no mesmo servidor. Ao usar SQL server management studio e tentar restaurar para o novo DB a partir da cópia de segurança, obtenho este erro

System.Data.SqlClient.SqlError: The backup set holds a backup of a database 
other than the existing 'test' database. (Microsoft.SqlServer.Smo)
Depois de pesquisar no Google, encontrei este código.
    RESTORE DATABASE myDB

 FROM DISK = 'C:\myDB.bak'

 WITH MOVE 'myDB_Data' TO 'C:\DATA\myDB.mdf',

MOVE 'myDB_Log' TO 'C:\DATA\myDB_log.mdf'
GO
Estava a pensar se as declarações de mudança iriam interferir com a base de dados de que o backup veio daquele servidor?

Obrigado, agradeço a ajuda.

Author: Arun Chandran C, 2012-04-24

4 answers

Acho que é mais fácil do que isto.
    Primeiro, crie uma base de dados em branco.
  • Então, no Assistente de recuperação" SQL Server Management Studio", procure a opção para sobrepor a base de dados de destino. Está na página 'Opções' e é chamada 'sobrepor a base de dados existente (com a substituição)'. Verifica.
  • Lembre-se de seleccionar os ficheiros de destino na página 'ficheiros'.

Poderá alterar as 'páginas' do lado esquerdo do Assistente (Geral, ficheiros, Opções)

 106
Author: dani herrera, 2018-07-16 11:34:52
Até é possível restaurar sem criar uma base de dados em branco.

No SQL Server Management Studio, carregue com o botão direito nas bases de dados [5]} e seleccione restaurar a base de dados... enter image description here

Na janela Restaurar a base de dados, Seleccione a base de dados de origem ou o dispositivo como normal. Uma vez que a base de dados de origem é selecionada, o SSMS irá preencher o nome da base de dados de destino com base no nome original da base de dados.

Então é possível mudar o nome da base de dados e indique um novo nome da base de dados de destino .

enter image description here

Com esta abordagem, nem sequer precisa de ir à página Opções e carregar na opção "sobrepor a base de dados existente".

Além disso, os ficheiros de base de dados serão nomeados de forma consistente com o seu novo nome de base de dados e você ainda tem a opção de alterar os nomes dos ficheiros, Se quiser.

 30
Author: Catch22, 2016-07-13 13:40:34

Verificar as opções sobre a base de dados de Escrita funcionou para mim:)

enter image description here

 8
Author: Kbdavis07, 2016-04-13 20:18:30
Pensa nisto como um arquivo. MyDB.Bak contém MyDB.mdf e MyDB.ldf. Restaura com o movimento para dizer que o HerDB basicamente agarra o MyDB.mdf (e ldf) a partir do back up, e copia-os como HerDB.mdf e ldf.

Então, se já tivesses um MyDb na instância do servidor, não estarias a repô-lo.

 1
Author: Tony Hopkinson, 2012-04-24 14:38:36