A maneira mais fácil de converter um banco de dados do SQL Server 2008 para o SQL Server 2005?

2

Eu tenho um banco de dados do SQL Server 2008 que preciso trazer para o meu ambiente, mas todos os meus servidores de produção estão executando o SQL Server 2005. Atualizar o ambiente não é uma opção, pelo menos não no curto prazo.

No entanto, eu tenho caixas do SQL Server 2008 que não são de produção para usar se puderem ajudar durante a conversão.

O banco de dados tem 1 GB de tamanho.

Como faço para lidar com essa conversão?

Obrigado!

    
por Michael Gorsuch 05.10.2010 / 22:13

2 respostas

7

Veja esta pergunta semelhante em relação a 2005 a 2000.

A única maneira de fazer isso é restaurar em um servidor de 2008, fazer o script do banco de dados de 2008 e, em seguida, executar o script no servidor SQL2005.

A boa notícia é que o SQL 2008 Management Studio torna esse super duper simples, oferecendo até mesmo uma opção para incluir dados nos scripts. Basta clicar com o botão direito do mouse no banco de dados, ir para Tarefas e clicar em "Gerar Scripts". Percorra o assistente e escolha a opção para incluir dados.

EDITAR : Eu olhei mais para os detalhes técnicos de por que isso não pode ser feito usando outros métodos (restaurar a partir do backup ou através da anexação), acontece que existem duas propriedades diferentes de um banco de dados , o nível de compatibilidade e a versão do banco de dados : (extraído de Blogue de mecanismo de armazenamento SQL )

  • O nível de compatibilidade do banco de dados determina como certos comportamentos de banco de dados funcionam. Por exemplo, na compatibilidade 90, você precisa usar a sintaxe OUTER JOIN para fazer uma junção externa, enquanto que em níveis anteriores de compatibilidade, você pode usar ' =' e '= '.

  • Um banco de dados atualizado mantém seu nível de compatibilidade. Por exemplo, um banco de dados que foi criado no SQL Server 2000 e não teve seu nível de compatibilidade alterado, permanecerá no nível de compatibilidade 80 quando for atualizado para o SQL Server 2005.

  • A versão do banco de dados é um número estampado na página de inicialização de um banco de dados que indica a versão do SQL Server da instância mais recente do SQL Server à qual o banco de dados foi anexado.

  • O SQL Server não é compatível com "nível superior". Você não pode anexar um banco de dados que foi criado em (ou foi atualizado para) o SQL Server 2005 para qualquer versão anterior do SQL Server (também true para tentar anexar um banco de dados 2000 para 7.0 e assim por diante).

  • Você não pode anexar um banco de dados que foi criado em uma versão anterior sem passar pelos procedimentos de atualização adequados. Forçosamente, anexar um banco de dados usando vários métodos hacky resultará em todos os tipos de erros estranhos e, possivelmente, falhas.

por 05.10.2010 / 22:20
-2

OK - minha resposta abaixo está errada. Vou deixar isso porque a discussão de por que eu estava errado é certamente valiosa.

Se o banco de dados não depender de nenhum recurso específico de 2008, tente definir o nível de compatibilidade como 2005 (90) e, em seguida, faça o backup e a restauração em seu servidor.

Não tenho certeza se você pode fazer isso se tiver recebido um arquivo DB BAK já pronto.

Se depender de recursos específicos de 2008, você é SOL sem um DBA e um desenvolvedor para ajudá-lo.

    
por 05.10.2010 / 22:17

Tags