none
Restaurar base do SQL Server 2008 para o SQL Server 2005 RRS feed

  • Pergunta

  • Boa tarde,

    Preciso restaurar uma base do sql server 2008 para o sql server 2005. Ao realizar o processo de restauração acontece o seguinte erro:

    Additional information:
    The media family on device 'D:\Continental.bak'is incorrectly formed. SQL Server cannot process this media family.
    RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3241)

    Verifiquei algumas postagens e as respostas são de que é impossível fazer essa restauração, e uma possível forma seria criar um script para os objetos do banco e exportar os dados para um txt.

    Gostaria de saber se há uma outra forma para restaurar ou se é realmente impossível de restaurar uma base do SQL 2008 para o 2005.

    Obrigado pela atenção.
    terça-feira, 5 de maio de 2009 16:47

Todas as Respostas

  • Alexandre,

    Restaurar uma base de dados do SQL Server 2008 de maneira direta sobre o SQL Server 2005 não é possível, pois estamos falando de versões diferentes!!!

    O que você poderia fazer é mudar o nível de compatibilidade deste banco de dados no SQL Server 2008 para o nível 90 que é o nível do 2005, realizar o backup e depois tentar restaurar a base.

    Caso este procedimento não funcione, você terá que exportar os dados do 2008 para o 2005 através de algum processo de exportação/importação de dados, existem diversar formas para realizar este tipo de procedimento.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 5 de maio de 2009 19:29
    Moderador
  • Fiz a simulação desse processo porém acusou o mesmo erro Junior.

    Muito obrigado pelo retorno.

    terça-feira, 5 de maio de 2009 19:50
  • Alexandre

    Neste caso so gerando script dos objetos e importando os txts  ou DTS

    Att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Sugerido como Resposta Alex Rosa quinta-feira, 7 de maio de 2009 01:52
    terça-feira, 5 de maio de 2009 20:00
    Moderador
  • Marcelo,

    Concordo com você. Outra possibilidade seria criar um projeto no SSIS para fazer o acesso ao dados no SQL Server 2008 e exportá-los para o 2005.

     


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Sugerido como Resposta Alex Rosa quinta-feira, 7 de maio de 2009 01:52
    quarta-feira, 6 de maio de 2009 13:11
    Moderador
  • Alexandre,

    Da pra vc gerar um script do banco para a versão 2005, e o 2008 nte da a opção de gerar junto o script dos dados da tabela.

    Tasks > Generate Scripts > Escolhe o Banco e Next

    Na próxima janela escolhe a opção Script for Server Version - define para SQL Server 2005

    E mais em baixo em Table/View Options tem uma opção

    Script Data - coloca como True.

    Gera o script e roda ele no Sql Server 2005 bque vai funcionar.
    • Sugerido como Resposta Warlei Alves terça-feira, 22 de novembro de 2011 21:08
    terça-feira, 16 de junho de 2009 14:44
  • Boa Tarde,

    Infelizmente o caminho de upgrade é via de mão única. Não é possível restaurar um backup em uma versão anterior, pois, há novas features, recursos e mudanças na estrutura de armazenamento. O SQL Server 2008 por exemplo trabalha com compactação e gasta alguns bits a mais nas páginas de dados para fazer isso. Como poderia o SQL Server 2005 interpretar tal situação ? Ele simplesmente não poderia...

    Não lhe resta opção senão exportar os dados (Generate SQL Script, Database Publishing Wizard e SSIS são ferramentas que podem auxiliá-lo).

    Cabe uma ressalva sobre o nível de compatibilidade. Essa característica é muito mal interpretada. Já vi muitas confusões sobre ela aqui no fórum.

    Ele não é simplesmente um Save As 2005 ou Save As 2000. Ele simplesmente diz ao SGBD que a interpretação de comandos SQL será restrita ao nível selecionado. Colocar o modo de compatibilidade do 2008 para 2005 apenas dirá que aquele banco está pensando 2005 em termos de TSQL. Isso significa que você não poderá utilizar novos recursos de TSQL como o GROUPING SETs, múltiplos INSERTs no mesmo comando, etc. O resto continuará sendo 2008 e por isso não será possível em nenhuma hipótese restaurá-lo no 2005.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como importar e exportar imagens entre o SQL Server e o File System ? – Parte I
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!601.entry


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 16 de junho de 2009 18:42
  • bom, também estou tentando e não consigo fazer o backup do 2008 e restaurar no 2005 tem alguma forma? preciso dos objetos e dos registros .

    Se Alguem puder ajudar ... 

    Grato desde já! 
    segunda-feira, 19 de outubro de 2009 16:20
  • Nesse caso, vc teria que gerar a estrutura do database através de script como mostra o Diego logo acima...

    Depois, vc faz um import dos dados para o novo database na instância 2005.


    Acho que essa pode ser uma solução.



    Att,
    De Lima - MCITP SQL Server 2005/2008
    segunda-feira, 19 de outubro de 2009 17:20
  • Olá pessoal,

    Muito grato pela dica....estava tentando restaurar o backup, mas sem sucesso, usei o datatranfer simples assim!

    Abraços a todos!

    quinta-feira, 4 de fevereiro de 2010 19:39
  • Onde você achou esse datatranfer ? É um programa a parte ou esta incluso no SQL Server
    quinta-feira, 14 de abril de 2011 13:17
  • Bom Dia,

    Refere-se ao Import / Export do SQL Server. Não é um programa a parte e sim um Wizard incluso no Management Studio que usa o Integration Services. Está disponível em qualquer versão menos no SQL Server Express.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    sexta-feira, 15 de abril de 2011 12:09