locked
Restaurar backup SQL 2000 p/ SQL 2008 RRS feed

  • Pergunta

  • Pessoal,

    Eu fiz um backup do SQL Server 2000 e quero restaurar no SQL Server 2008, como eu faço??

    Eu já criei o banco com o Compatibility Level 80, mas no momento de tentar restaurar, mais especificamente quando seleciono onde está salvo o arquivo *.bak, acusa a mensagem:
    "Conversão específica não é válida. (SqlManagerUI)"

    Esse mesmo arquivo eu consigo restaurar no SQL Server 2005.

    Grata
    quinta-feira, 3 de setembro de 2009 15:00

Respostas

  • Boa Tarde,

    O problema é justamente esse. Você tem um banco no 2008 criado e como a estrutura de um banco 2008 é mais evoluída, não será possível restaurar um banco 2000 de forma a sobrepor o banco 2008. Para que isso funcione, basta que você apenas restaure o banco SQL Server 2000, mas sem sobrepor nenhum outro banco. Não é preciso criar o banco primeiro para fazer o restore. Você pode simplesmente fazer o restore.

    Vale a pena lembrar que o nível de compatibilidade diz respeito somente a código TSQL em tempo de execução. Ele não influencia em mais nada e também não possui qualquer efeito de forma a facilitar ou dificultar um processo de restauração.

    O nível de compatibilidade 80 para uma base em SQL Server 2005 / 2008 irá vetar alguns novos recursos, mas essas privações referem-se unica e exclusivamente a código TSQL e nada mais. Você não poderá usar o tipo de dados XML nem as funções de ranqueamento como ROW_NUMBER, mas nem por isso estará impedida de particionar uma base, criar uma cobertura de índice com o Include ou consultar as DMVs.

    [ ]s,

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

    Unique Constraints – Aplicações, Alternativas e um lapso "justificável" do SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!710.entry
    Classifique as respostas. O seu feedback é imprescindível
    sábado, 5 de setembro de 2009 20:08
  • Adriana,

    Eu já realizei este tipo de procedimento diversas vezes e funcionou perfeitamente.

    Tente fazer o seguinte, crie no SQL Server 2008 o mesmo banco de dados com o nível de compatibilidade 80 e depois restaure este banco de dados sobre o banco do SQL Server 2008.

    Outra possibilidade além do Upgrade Advisor, seria também criar o banco de dados no 2008 e fazer a migração das tabelas existentes no SQL Server 2000 para o 2008, mas para isso será necessário que estes dois SQL Servers estejam se comunicando.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 4 de setembro de 2009 00:52
    Moderador

Todas as Respostas

  • Estranho isso Adriana, pois são compativeis.

    1) Experimente rodar o Upgrade Adivisor do SQL 2008 no SQL Server 2000. Ele verifica a incompatibilidade se houver.

    2) No momento, pode tentar restaurar em um SQ server 2005 como fez e depois ATTACH no SLQ Server 2008.

    Verifique o relatório do Adivisor e vamos tentar consertar.

    O Adivisor está no DVD de instalação na pasta REDIST

    Robson Brandão
    quinta-feira, 3 de setembro de 2009 17:11
  • Adriana,

    Eu já realizei este tipo de procedimento diversas vezes e funcionou perfeitamente.

    Tente fazer o seguinte, crie no SQL Server 2008 o mesmo banco de dados com o nível de compatibilidade 80 e depois restaure este banco de dados sobre o banco do SQL Server 2008.

    Outra possibilidade além do Upgrade Advisor, seria também criar o banco de dados no 2008 e fazer a migração das tabelas existentes no SQL Server 2000 para o 2008, mas para isso será necessário que estes dois SQL Servers estejam se comunicando.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 4 de setembro de 2009 00:52
    Moderador
  • Boa Tarde,

    O problema é justamente esse. Você tem um banco no 2008 criado e como a estrutura de um banco 2008 é mais evoluída, não será possível restaurar um banco 2000 de forma a sobrepor o banco 2008. Para que isso funcione, basta que você apenas restaure o banco SQL Server 2000, mas sem sobrepor nenhum outro banco. Não é preciso criar o banco primeiro para fazer o restore. Você pode simplesmente fazer o restore.

    Vale a pena lembrar que o nível de compatibilidade diz respeito somente a código TSQL em tempo de execução. Ele não influencia em mais nada e também não possui qualquer efeito de forma a facilitar ou dificultar um processo de restauração.

    O nível de compatibilidade 80 para uma base em SQL Server 2005 / 2008 irá vetar alguns novos recursos, mas essas privações referem-se unica e exclusivamente a código TSQL e nada mais. Você não poderá usar o tipo de dados XML nem as funções de ranqueamento como ROW_NUMBER, mas nem por isso estará impedida de particionar uma base, criar uma cobertura de índice com o Include ou consultar as DMVs.

    [ ]s,

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

    Unique Constraints – Aplicações, Alternativas e um lapso "justificável" do SQL Server
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!710.entry
    Classifique as respostas. O seu feedback é imprescindível
    sábado, 5 de setembro de 2009 20:08
  • Maia,

    Concordo com você, foi somente algumas sugestões que indiquei, dentre elas a criação do banco, talvez desta forma nosso amigo poderia entender um pouco melhor esta questão de estrutura e nível de compatibilidade de bancos de dados existente em cada versão.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    domingo, 6 de setembro de 2009 12:12
    Moderador
  • Pessoal,

     

    Estou tentando restaurar um banco de dados de uma base que já é SQL SERVER 2008 , gerei um .bak dele e estou tentando adicionar em outra estancia que também é SQL Server 2008, porém esta me gerando este erro de , creio que a base esteja corrompida ....o q vcs acham ??

     

    Obrigado,

     

    Thiago Schultz,

    Analista de Sistemas Mind Services

    sexta-feira, 7 de outubro de 2011 18:47
  • Este post foi encerrado por ser considerado um post antigo.

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 5 de junho de 2018 17:41
    Moderador