none
Migração de dados de uma base sql server para outra remodelada RRS feed

  • Pergunta

  • Prezados boa tarde,

    Trabalho com um banco que foi totalmente remodelado. Porem agora existe a necessidade de migrar os dados do banco antigo para o novo, mantendo os valores das chaves primárias e estrangeiras. Eu poderia antes da migração "desligar" a validação das chaves e depois "ligar" novamente executando alguma procedure de sistema? Ou eu poderia criar o banco sem chaves e depois ir criando as chaves? Ou tem outra alternativa melhor? Agradeço as sugestões.


    --
    Gerson C. Júnior
    http://www.ekow.com.br

    terça-feira, 25 de junho de 2013 19:43

Todas as Respostas

  • Gerson,
    precisei fazer algo semelhante a um tempo atrás e fiz da seguinte maneira(lembro-me que na época foram SGDBs diferentes não sei se é o seu caso):

    1 - Criei uma base de teste, no caso uma cópia da base nova;
    2 - Desenvolvi uma aplicação simples para ler o banco antigo que contém as informações;
    3 - Na minha aplicação criei tabelas para trazer os dados do banco antigo, uma consulta simples;
    4 - Na aplicação criei a conexão com a base de dados nova(TESTE) e imputei os dados dessa tabela(com um for para ler linha a linha) e salvando na tabela referente a gridview;
    5 - No meu caso as tabelas que tinham FK eu imputava os dados nas 2 tabelas, a que continha a PK colocava os dados normalmente e na que tem a FK colocava apenas na coluna da FK, assim a ligação já fica pronta. Mas na hora de popular as outras colunas dessa tabela que tem a FK eu não populava o campo da FK que já foi populado anteriormente.

    Foi uma lógica bem louca e  trabalhosa, ainda mais porque a base era grande, mas funcionou na boa e não tive dor de cabeça.

    Espero que eu tenha ajudado.


    Gustavo www.graweb.com.br


    • Editado aprendizCSharp quarta-feira, 26 de junho de 2013 02:36 Ajuste texto
    quarta-feira, 26 de junho de 2013 02:34
  • Bom dia Gerson !

    Eu deixaria no banco novo ja as chaves que a base terá, uma por que isso garante a integridade dos seus relacionamentos, outro motivo é que se voce "desligar" as chaves e depois de inputar os dados "ligar" caso tenha alguma falha de relacionamento entre as chaves dará erro e será mais trabalhoso corrigir do que de inicio quando voce esta inserindo os dados e voce pode ja ir verificando o que pode acontecer.


    Alexandre Matayosi Conde Mauricio.

    quarta-feira, 26 de junho de 2013 11:06
  • Gerson

    Eu manteria as integridade nesta nova base, ao desligar as constraints vc poderá levar alguns vicios da base antiga para a nova...

    Eu faria um pacote DTSx para importar as novas tabelas obedecendo as integridades referenciais...


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    quarta-feira, 26 de junho de 2013 11:13
    Moderador