Transferindo bancos de dados do SQL Server 2008 para o SQL Server 2005?

2

Como transferir banco de dados do SQL Server 2008 para o SQL Server 2005?

Defina o nível de compatibilidade como 90 e criei um backup.

Uma mensagem de exceção diz:

media family on device ... is incorrectly formed

Não há nenhuma chance de estabelecer conexão entre bancos de dados para copiar dados usando assistentes do SSIS.

Como você pode efetivamente transferir um banco de dados do SQL 2008 para 2005?

    
por st78 12.02.2010 / 00:47

3 respostas

1

Tenho certeza de que não é possível restaurar um banco de dados com backup feito por uma versão mais recente do SQL Server, infelizmente.

Embora não seja possível conectar as máquinas para executar uma exportação usando os assistentes, elas talvez suportem a geração de scripts contendo a estrutura e os dados (muito parecido com um backup mySQL)? As ferramentas padrão certamente podem produzir scripts para sturcture e programability armazenados (procs, triggers, ...). Pode haver um pouco de trabalho de exportação dos dados e reimportar, mas seria possível.

A outra opção é instalar o SQL2008 em algum lugar local na instância SQL2005 e tentar fazer a transferência baseada no assistente dessa maneira (restaurar para o SQL2008 e transferir pelo SSIS a partir daí). Há uma edição de avaliação limitada no tempo do SQL2008: link
Da mesma forma, você poderia tentar o mesmo, instalando o SQL2005 em algum lugar local na instância do SQL2008, transferindo o material usando o SSIS para lá e para lá, sendo capaz de produzir um arquivo de backup compatível com SQL2005.

    
por 12.02.2010 / 01:30
0

Uma vez atualizado, um banco de dados nunca pode ser rebaixado. A definição do nível de compatibilidade altera apenas certas formas de comportamento da execução da consulta, mas não tem absolutamente nenhum impacto no formato físico do banco de dados: o banco de dados do 90 modo de compatibilidade é um banco de dados do SQL 2008, não do SQL 2005.

Portanto, se você precisar implantar um banco de dados no SQL 2005, deverá criá-lo no SQL 2005. Não apenas isso, mas também a mesma versão do SQL 2005, ou seja, o mesmo SP e Nível CU. Ou pelo menos uma versão anterior ao servidor de destino. Portanto, se o servidor de destino for SP1 CU3, você poderá criar o banco de dados no RTM em qualquer CU e no SP1, SP1 CU1, SP1 CU2 ou SP1 CU3. Mas você não pode criá-lo no SP1 CU4 nem em nenhuma versão posterior ao SP1 (como o SP2). Como eu disse, um banco de dados pode ser atualizado, mas nunca rebaixado.

As opções são criar um script do banco de dados e do conteúdo no texto SQL e depois importar os scripts para o servidor de destino, recriar o banco de dados em uma versão adequada do servidor SQL ou atualizar o destino para 2008.

    
por 12.02.2010 / 02:06
0

Qual é o tamanho do banco de dados? Eu suponho que você não está usando nenhum dos novos tipos de dados de 2008.

Você pode fazer o script do esquema do banco de dados no SQL Server 2008 & Torne o script compatível para 2005. Depois disso, você pode fazer um BCP fora de todas as tabelas de 2008 & importá-los em 2005. Você pode conseguir isso também através do SSIS, mas o BCP seria mais rápido (pelo menos para mim)

    
por 12.02.2010 / 09:27

Tags