none
Problema em restor backup 2005 para 2000 RRS feed

  • Pergunta

  • Olá pessoal,
    Boa tarde.
    Necessito de um socorro urgente, tenho uma aplicação aqui na empresa que roda com banco no SQL Server 2000, mas esta muito lendo e resolvi migrar o banco para o SQL SERVER 2005 Standart, fiz um backup do 2000 e restaurei no
    2005 e tudo normal, até que descobri que algumas rotinas não era compativel com aplicação,
    Então fiz um backup do banco no 2005 e tentei voltar para o 2000 mas esta dando a sequinte massagem :

    Microsoft SQL-DMO(ODBC SQLState:4200)


    Erro 3241: The media family on devide 'c:\bkp\meu_backup.bak' is incorrectly formed. SQL Server cannot process this media family.
    RESTORE FILELIST is terminating abnormally.

    E não faz a restauração, não sei mais o que fazer, por favor me deem uma LUZ, como trazer isto de volta

    pelo amor de DEUS.

    Abraços.

    Aguiar

    quarta-feira, 3 de agosto de 2016 18:14

Respostas

  • Aguiar Lima,

    Que estranho. Se você setar o nível de compatibilidade para 80, mesmo assim não funcionam tuas rotinas ?

    Se tiver alguma dúvida sobre como fazer, siga este link:

    Alterar nível de compatibilidade.

    Att,


    Antero Marques

    _______________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.


    quinta-feira, 4 de agosto de 2016 17:34
  • Não tem como voltar por Restore.

    O que voce pode fazer é um DTSx para popular as tabelas.

    Vide o que já foi discutido nesta thread:

    https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/98a3472f-d3f4-4e61-a1d6-b86eb2c07914/backup-2005-em-2000?forum=admingeralpt

    quarta-feira, 3 de agosto de 2016 18:18

Todas as Respostas

  • Não tem como voltar por Restore.

    O que voce pode fazer é um DTSx para popular as tabelas.

    Vide o que já foi discutido nesta thread:

    https://social.msdn.microsoft.com/Forums/sqlserver/pt-BR/98a3472f-d3f4-4e61-a1d6-b86eb2c07914/backup-2005-em-2000?forum=admingeralpt

    quarta-feira, 3 de agosto de 2016 18:18
  • Tenta fazer um Detath e um Atach.
    quarta-feira, 3 de agosto de 2016 20:43
  • AguiarLima,

    Além disso, se você conseguir de dentro do Management Studio do SQL Server 2005 acessar o seu outro SQL Server 2000, com isso, será possível através da ferramenta de Import/Export Data realizar a exportação de todo banco de dados para o SQL Server 2000.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 4 de agosto de 2016 16:05
    Moderador
  • Aguiar Lima,

    Que estranho. Se você setar o nível de compatibilidade para 80, mesmo assim não funcionam tuas rotinas ?

    Se tiver alguma dúvida sobre como fazer, siga este link:

    Alterar nível de compatibilidade.

    Att,


    Antero Marques

    _______________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.


    quinta-feira, 4 de agosto de 2016 17:34
  • Antero,

    Por padrão não vai funcionar pois quando se realiza um backup é adicionado no cabeçalho do arquivo um número que representa a versão do banco de dados, versão do SQL Server e também versão do Management Studio.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 4 de agosto de 2016 18:02
    Moderador
  • Junior,

    falo da base que ele já tem no 2005, base restaurada do 2000, e não do backup que foi feito no 2005 tentando voltar para o 2000.

    Para que as rotinas 2000, que provavelmente são procedures com comandos padrão do 2000, funcionem, bastaria que ele setasse a compatibiidade para 80, não está correto ?

    Att,


    Antero Marques

    _______________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.



    sexta-feira, 5 de agosto de 2016 20:41
  • Junior,

    falo da base que ele já tem no 2005, base restaurada do 2000, e não do backup que foi feito no 2005 tentando voltar para o 2000.

    Para que as rotinas 2000, que provavelmente são procedures com comandos padrão do 2000, funcionem, bastaria que ele setasse a compatibiidade para 80, não está correto ?

    Att,


    Antero Marques

    _______________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.



    Antero,

    Ok, neste caso você esta correto.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 9 de agosto de 2016 15:32
    Moderador
  • Para você setar o nível de compatibilidade:

    Para a alteração realize o seguinte comando :

    ALTER DATABASE [Nome_da_base] SET COMPATIBILITY_LEVEL = valor

    Exemplo alterando a compatibilidade para MS-SQL 2000

    ALTER DATABASE [Nome_da_base] SET COMPATIBILITY_LEVEL = 80

    Se realmente não funcionar, você pode seguir com o Import/Export via .TXT.


    Como base de conhecimento, segue os níveis de compatibilidade:

    80 =  SQL Server 2000
    90 =  SQL Server 2005
    100 = SQL Server 2008

    _______________________________________________________________________________

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Felipe Mazaia
    Microsoft MTA
    Blog: http://sqlnapratica.com.br
    Atenção, se seu problema foi resolvido não deixe o post aberto


    • Editado Felipe Mazaia terça-feira, 29 de novembro de 2016 23:43
    terça-feira, 29 de novembro de 2016 23:38
  • Senhores boa tarde,

    Pelo meu entendimento, ao realizar backup e restore, a base de dados não altera seu nível de compatibilidade, se o mesmo é um banco com nível 80 e foi para o 2005 que é 90, ele não altera no banco restaurado. A não ser que você realize essa alteração.

    O processo de migração pode seguir duas linhas pensamento:

    1ª - Na migração você altera as procedures de sistema utilizadas nas tuas rotinas atualizando elas para as do SQL 2005;

    2ª - Insere somente os dados alterados no SQL 2005, utilizando o tabledif para o SQL 2000;

    Por padrão o SQL Server não reconhece a versão mais atual do banco em um SQL anterior, tipo:

    SQL 2000 para 2005, migração OK, Downgrade NÃO

    SQL 2005 para 2008, migração OK, Downgrade NÃO

    E assim por diante. Não há volta, só com backup da base original.

    Eu fiz uma migração de uma base de dados do SQL 2000 para 2008 e tive que atualizar algumas procedures, gerou um esforço mais deu certo, as minhas rotinas estão funcionando sem problemas.

    Espero ter ajudado.

    Grande abraço.

    quarta-feira, 2 de agosto de 2017 16:11