Restaurar o banco de dados MS SQL 2008 dos arquivos

1

é possível restaurar um servidor MSSQL copiando seus arquivos de diretório / dados? Eu tenho um disco rígido danificado e consegui salvar o diretório C: \ Arquivos de Programas (x86) \ SQL Server 2008 \ MSSQL \ MSSQL10.MYDATABASE. Copiei isso para minha nova instalação e tentei iniciar o serviço, mas ele falhou. É possível retore o db de alguma forma?

Estou usando o Windows 7 de 64 bits e o MS SQL Server 2008 R2.

    
por Eike Cochu 24.12.2013 / 10:17

3 respostas

2

Para restaurar um banco de dados a partir dos arquivos, é necessário o arquivo de dados - MDF, às vezes o NDF também e o arquivo de log - LDF.

  1. Iniciar o SQL Server Management Studio
  2. Clique com o botão direito do mouse no nó Bancos de dados
  3. Selecione Anexar
  4. Clique em Adicionar
  5. Selecione o arquivo MDF que você salvou
  6. O arquivo LDF deve ser adicionado automaticamente. Caso contrário, a mensagem 'Não encontrado' será exibida e você deverá adicionar o arquivo manualmente clicando no botão de reticências

Seissofalhar,tenteanexarapenasoarquivoMDF,usandoo função sp_attach_single_file_db

EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012Restored' ,
@physname = N'D:\ApexSQL\backups\CS2.mdf';

Se isso falhar, o arquivo MDF pode estar corrompido. Você pode experimentar uma ferramenta de terceiros que lerá o arquivo MDF e recuperará seus dados

O ApexSQL Recover é uma ferramenta que pode ler um arquivo MDF corrompido, recriar todos os objetos e recuperar os registros da tabela. Pode criar um script T-SQL ou criar uma cópia do banco de dados

Disclaimer: Eu trabalho para o ApexSQL como engenheiro de suporte

    
por 24.12.2013 / 23:32
4
  1. Você não deveria ter copiado o diretório inteiro. Você deve ter copiado apenas o banco de dados e os arquivos de log de transações do banco de dados em questão.

  2. Desinstale e reinstale o SQL Server no host de destino.

  3. Copie o banco de dados e os arquivos de log de transações do banco de dados em questão para o host de destino.

  4. Anexe o banco de dados.

por 24.12.2013 / 18:35
0

Exatamente o que @joeqwerty disse, apenas algumas dicas para o futuro.

É melhor manter os arquivos de banco de dados .MDF em uma unidade separada dos arquivos de log .LDF. Também é recomendável manter todos os bancos de dados fora da unidade C :. O TEMPDB tem melhor desempenho quando está em uma unidade sozinho.

Aqui está um artigo sobre como mover dbs do sistema Tech Net

    
por 24.12.2013 / 19:24