Clonando o banco de dados SQL via Backup-Restore: 'Restaurando…' leva um tempo muuuito

2

Eu precisava de uma cópia exata de um banco de dados com outro nome. Eu escolho clonar o banco de dados SQL via Backup-Restore, usando o SQL Mgt Studio 2008. Em primeiro lugar, ao restaurar o banco de dados; Eu recebi um erro.

SqlError: The backup set holds a backup of a database other than the existing 'Pro_SSRS' database. (Microsoft.SqlServer.Smo)

Então descobri que tinha que escolher a opção "Substituir o banco de dados existente" Visto em vários sites, por exemplo, aqui: link

Agora, ao lado do nome do banco de dados, vejo "(restaurando ...)" e já faz meia hora. Nem consigo ver as propriedades do banco de dados, a maioria das opções diz "indisponível".

Alguém pode explicar? Ou isso é normal? (O banco de dados é como 20MB ..) Agradecemos antecipadamente!

    
por laurens 13.11.2009 / 11:41

3 respostas

2

O que você quer fazer é excluir tudo isso e seguir estas etapas:

  1. Crie um backup completo do seu banco de dados, certifique-se de verificar "verificar após o backup" para se certificar de que o BAK está ok. Nomeie-o ORIGINAL.BAK. Lembre-se de sua localização. (você também pode usar "T-SQL")

    BACKUP DATABASE ‘YourDBName’ TO DISK = ‘C: \ ORIGINAL.BAK’; // ou similar

  2. Agora, de volta ao Management Studio, clique com o botão direito do mouse em bancos de dados e clique em "Restaurar banco de dados…"

  3. Na caixa de diálogo emergente, Destino para restauração: para banco de dados: MyNewDatabase

  4. Na Fonte para restauração , selecione "Do dispositivo" e clique no botão […].

  5. Um novo pop-up (o que há com os pop-ups da Microsoft?), Deixe a mídia de backup como "Arquivo", mas clique no botão Adicionar e encontre o seu ORIGINAL.BAK. Se você fez backup usando o Management Studio, provavelmente estará no mesmo local. Selecione-o e clique em OK. Então, OK novamente.

  6. Agora, na primeira tela de restauração, clique na caixa de seleção (Restaurar) na caixa que diz: "Selecione os conjuntos de backups a serem restaurados" (você deve ter seu banco de dados listado). Ainda não clique em OK!

  7. Agora, à esquerda desse pop-up, há uma caixa de listagem que diz: Selecione uma página. E duas “páginas”: Geral e Opções. Clique em Opções .

  8. Clique em Sobrescrever o banco de dados existente.

  9. Em "Restaurar os arquivos do banco de dados como", certifique-se de que o .mdf e o .ldf não estejam em conflito com os outros. Você pode alterar sua localização, se desejar.

  10. Clique em ok. Você 20mb banco de dados deve ser restaurado em menos de 10 segundos.

E se isso não funcionar?

Em raras ocasiões, você pode ter problemas. Isso geralmente não é um bom sinal e você deve executar um DBCC CHECKDB (leia os arquivos de ajuda para obter mais informações sobre isso) para certificar-se de que seu banco de dados mestre é ok.

Você também pode tentar "Anexar" o DB diretamente:

  1. Pause o SQL Server (para garantir que ninguém use o banco de dados, não sei se necessário, mas…)
  2. Clique com o botão direito em Bancos de dados (em STudio de gerenciamento) e selecione Anexar e, em seguida, Adicionar.
  3. Encontre o arquivo .MDF do banco de dados que deseja duplicar, clique em OK e agora nos "detalhes do banco de dados" (abaixo do botão adicionar), verifique e altere o caminho do arquivo atual e / ou renomeie .MDF e .LDF ( não pode ser o mesmo que o outro DB).
  4. Clique em OK.

nota : se isso não funcionar, convém DEATACHAR o banco de dados original primeiro. Faça as 4 etapas e, em seguida, renomeie o banco de dados. Em seguida, continue a ligar o ORIGINAL DB.

Espero que isso ajude.

    
por 13.11.2009 / 14:16
2

Seu problema é que você precisa especificar um novo local de arquivo para todos os arquivos de dados ao restaurar com um novo nome de banco de dados. Se você fizer isso no T-SQL, ele será chamado WITH MOVE. Não faz sentido que você possa restaurar um banco de dados com um nome diferente para o mesmo local. Você precisará especificar um novo local / nome para os arquivos.

parece que seu banco de dados pode ter caído no meio de uma restauração. Dê uma olhada no monitor de atividades para ver se há algum RESERORES ocorrendo (ou sysprocesses) provavelmente não há. Se este for o caso, então você deve ser capaz de excluir (DROP) o banco de dados e começar de novo.

    
por 13.11.2009 / 15:22
1

Outra opção é que você pode tirar uma foto do banco de dados. Isso seria instantâneo, mas apenas fornece uma cópia estática somente leitura do banco de dados (geralmente usada para relatórios).

Disponível apenas na versão Enterprise.

link

    
por 18.11.2009 / 13:21