Qual é a melhor maneira de atualizar o SQL 7 para o SQL 2008?

2

Estou atualizando um site antigo e movendo tudo para novos servidores e versões de software mais recentes.

Como parte dessa atualização, preciso mover um banco de dados de um servidor Win2000 que executa o MS-SQL 7 para um novo servidor Win2008 de 64 bits executando o MS-SQL 2008.

Eu tentei fazer um backup e restauração de banco de dados durante uma execução de teste anterior, e o SQL 2008 não restaurará os backups de banco de dados da versão 7 .

Eu estava pensando que poderia tentar usar o BCP para exportar os dados e importá-los para um banco de dados vazio com o mesmo esquema na máquina de 2008.

Caso contrário, eu poderia tentar instalar o SQL 2000 ou o SQL 2005 na nova caixa e restaurá-la - então:

  • Desanexe esse banco de dados e anexe-o no mecanismo do sql 2008

OR

  • Backup desse banco de dados e restauração em 2008

Este é um sistema de produção, portanto, transferir os dados fará com que o sistema fique inativo por um tempo, mas eu gostaria de manter isso no mínimo.

Qual seria a melhor maneira de abordar essa atualização? Quaisquer armadilhas para olhar para fora? Devo usar o caminho BCP ou a versão intermediária do banco de dados?

    
por Nils 13.01.2010 / 09:37

3 respostas

3

Se você deseja atualizar, passe pelo SQL 2000 ou SQL 2005 e, em seguida, até SQL 2008. Há muita documentação sobre como fazer isso. Leia antes de começar. Sério.

Seu método de transferência de estruturas e dados também é uma opção, mas pode ter problemas. Eu faria o método de atualização. Pessoalmente, eu faria isso via SQL 2005 e depois até 2008.

    
por 13.01.2010 / 09:43
2

Você não pode atualizar do SQL Server 7 para o SQL Server 2008 diretamente. Este documento lista as possíveis opções suportadas. [ link

Sua melhor aposta é atualizar do SQL Server 7 para o SQL Server 2000 e do SQL Server 2000 para o SQL Server 2008. E não faça muitos saltos do que o necessário. Esta é sua melhor opção para obter informações autoritativas. link

Após o upgrade

  1. Prepare-se para ter alguns problemas de desempenho, pois o otimizador de consulta foi escrito de baixo para cima e você obterá planos completamente diferentes e estará atento a algumas reescritas de código. Não espere que o SQL Server 2008 resolva os problemas (no mínimo) no começo.
  2. Lembre-se de reconstruir todos os índices ou atualizar estatísticas com o fullscan
  3. Execute um DBCC UPDATEUSAGE e isso ajudará as exibições do sistema (DMVs) a corrigir as contagens de linhas.
  4. ALTER DATABASE SET PAGE_VERIFY CHECKSUM e isso ajudará você a detectar a corrupção de IO desde o início. Idealmente, você deseja definir essa opção antes de executar a reconstrução dos índices.

Existem muitas outras dicas que você pode encontrar, portanto, planejar e fazer o dever de casa é a chave para uma atualização bem-sucedida.

    
por 15.01.2010 / 05:29
1

Eu pessoalmente preferiria o método de restauração em um servidor intermediário. A cópia da estrutura e dos dados também deve funcionar, mas pode levar mais de duas operações de desanexar + copiar + anexar.

Se você optar pela abordagem de estrutura de cópia e dados BCP, certifique-se de definir o nível de compatibilidade do banco de dados de destino corretamente para reduzir os problemas devido a alterações no próprio SQL. Consulte o link para obter mais detalhes sobre essas diferenças.

Mesmo com o nível de compatibilidade definido, você deve planejar um teste de regressão completo de qualquer aplicativo usando o banco de dados, pois ainda pode haver pequenas diferenças onde seu código depende de um comportamento "indefinido" constante no SQL7, mas não garantido assim nas edições posteriores.

    
por 13.01.2010 / 11:02

Tags