Posso restaurar um banco de dados do SQL 2008 em um servidor SQL 2005?

1

Eu tenho uma caixa de produção com o SQL Server 2008, e estou procurando consolidar meu servidor DEV com outro que está executando 2005. Então, minha pergunta é, existe alguma opção que eu possa definir que me permita restaurar o despejo de produção de 2008 para o meu novo dev no SQL 2005?

Obrigado!

    
por Webjedi 03.09.2009 / 18:55

3 respostas

11

Não, você não pode. Os formatos de banco de dados são incompatíveis. O melhor que você pode fazer é fazer o script do banco de dados e exportar os dados. Note, no entanto, que algumas coisas (como certos tipos de dados) que são novos no SQL 2008 irão lançar sua instância 2005 para dar uma volta.

    
por 03.09.2009 / 18:58
1

A resposta simples é NÃO, você não pode restaurar um backup do SQL Server 2008 em um SQL Server 2005 ou versões anteriores.

Aqui está a resposta detalhada.

O SQL Server mantém muitos metadados sobre o banco de dados (incluindo a versão que foi criada) no arquivo de inicialização do banco de dados mestre e essas informações são lidas quando você anexa o banco de dados ao servidor e verifica a versão do servidor. Note que esta versão interna é diferente da versão do software como 2000, 2005 & 2008. Quando um banco de dados de versão inferior é anexado a uma versão superior (servidor), a versão interna do banco de dados é esbarrada e a restauração / anexação vai bem, mas quando você anexa o banco de dados de versão superior a um nível mais baixo, o SQL Server falha. validação. Uma das razões é que os metadados e as tabelas e estruturas internas do sistema mudam de uma versão do SQL Server para outra e as versões inferiores não conseguem lidar com as estruturas de versão superior.

Você pode verificar essas informações com muita facilidade com o seguinte comando.

DBCC DBINFO COM TABLERESULTS

Você precisa procurar por dbi_createVersion ESTRUTURA DE DBINFO: DBINFO @ 0x467BEEE8 dbi_createVersion 655

SQL Server 7.0: 515 SQL Server 2000: 539 SQL Server 2005: 611/612 SQL Server 2008: 655

link

Agora chegando à solução, eu tenho que concordar com o gbn que você pode instalar um SQL Server 2008 lado a lado na caixa dev, embora não seja muito difícil criar scripts do esquema / dados via SSIS para a instância do SQL Server 2005, não é necessário voltar a uma versão anterior e, mais importante, você sempre deseja manter a produção e o dev nas mesmas versões com os pacotes servcie, caso contrário, você poderá ver resultados surpreendentes entre dev e produção.

    
por 07.09.2009 / 08:35
0

Como mencionado, não.

Por que não instalar o SQL 2008 na caixa dev também, então você tem as instâncias do SQL 2005 e do 2008. Caso contrário, será um problema se você quiser copiar o prod para o dev regularmente ou usar os recursos do SQL 2008.

    
por 03.09.2009 / 19:39