locked
Migração de dados de Postgresql para SQL Server RRS feed

  • Pergunta

  • Bom dia a todos,

    Gostaria de saber se o SQL Server tem alguma ferramenta que faça a exportação/migração de dados de um base em PostgreSQL para uma base em SQL Server?
    Porém tem um problema, a estrutura da base atual no PostgreSQL está bem diferente da estrutura que foi montada no SQL Server.
    Eu sei que não é uma tarefa fácil, mas queria saber se o SQL Server possui algum recurso que dê uma ajuda nesse processo.

    Grato.
    • Movido Gustavo Maia Aguiar domingo, 19 de setembro de 2010 13:14 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 7 de janeiro de 2010 13:06

Respostas

  • Como eu te disse... O SSIS é uma ferramenta poderosa e cheia de recursos, mas vc vai ter que montar a logica a mao... as vezes é muito mais simples, exportar para csv e reimportar com o BCP... Para tabelas menores que 1000 registros até a possibilidade de normalizar com o excel ée mais viavel (sim, voce perde menos tempo normalizando pequenas tabelas no excel do que tentanto criar a logica de exportaçao). Agora, se vc tiver que fazer isso em varios clientes ou de tempos em tempos, entao va em frente e use o SSIS

    Att

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta M. Banagouro quinta-feira, 7 de janeiro de 2010 19:31
    quinta-feira, 7 de janeiro de 2010 18:08
  • Bom Dia,

    Se os esquemas estão diferentes, você pode utilizar o SSIS para importar os dados.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!899.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 7 de janeiro de 2010 13:13
  • Eu trabalho com os dois bancos aqui... Se vc for fazer uma unica vez, sugiro exportar os dados em CSV e importar usando o BCP.
    Criar um SSIS envolve criaçao de regras e mapeamento de campos que nao sao evidentes. Por exemplo, aqui usamos o PostgreSQL e tem um tipo chamado INET (que é um objeto)... nao existe mapeamento direto para o SQL, entao primeiro tem que extrair o texto do IP e depois mapear no SQL...

    Isso é só um exemplo do que vc vai encontrar... Por isso, novemente, se for só para migrar, use o BCP, caso contrario (tem que fazer essa transferencia periodicamente) crie um projeto SSIS

    Att

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta M. Banagouro quinta-feira, 7 de janeiro de 2010 19:31
    quinta-feira, 7 de janeiro de 2010 13:55

Todas as Respostas

  • Você pode utilizar o SSIS para fazer isso, ou até mesmo o assistente de importação (IMPORT).





    Espero ter ajudado
    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
    quinta-feira, 7 de janeiro de 2010 13:11
  • Bom Dia,

    Se os esquemas estão diferentes, você pode utilizar o SSIS para importar os dados.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!899.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 7 de janeiro de 2010 13:13
  • Eu trabalho com os dois bancos aqui... Se vc for fazer uma unica vez, sugiro exportar os dados em CSV e importar usando o BCP.
    Criar um SSIS envolve criaçao de regras e mapeamento de campos que nao sao evidentes. Por exemplo, aqui usamos o PostgreSQL e tem um tipo chamado INET (que é um objeto)... nao existe mapeamento direto para o SQL, entao primeiro tem que extrair o texto do IP e depois mapear no SQL...

    Isso é só um exemplo do que vc vai encontrar... Por isso, novemente, se for só para migrar, use o BCP, caso contrario (tem que fazer essa transferencia periodicamente) crie um projeto SSIS

    Att

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta M. Banagouro quinta-feira, 7 de janeiro de 2010 19:31
    quinta-feira, 7 de janeiro de 2010 13:55
  • É que é o seguinte,

    Temos um sistema antigo que utiliza a base no PostgreSQL, porém toda a estrutura dela tá bem mal feita, sem normalização, FK, etc.
    Já no projeto novo estamos fazendo em SQL Server e demos uma boa alterada na estrutura das tabelas, um exemplo é que antes a gente guardava um determinado dado em uma tabela hoje normalizamos e dividimos tudo.
    O SSIS consegue fazer esse tipo de migração?
    Eu consigo especificar digamos a "lógica" de como ele tem que fazer essa exportação?

    Grato.
    quinta-feira, 7 de janeiro de 2010 17:42
  • Boa Tarde,

    O Integration Services poderá carregar dados de tabelas (ou de consultas) para um tabela, mas você terá que montar as consultas para abastecer as tabelas. Ele te ajudará, mas você precisará montar as cargas uma a uma.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!899.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 7 de janeiro de 2010 18:03
  • Como eu te disse... O SSIS é uma ferramenta poderosa e cheia de recursos, mas vc vai ter que montar a logica a mao... as vezes é muito mais simples, exportar para csv e reimportar com o BCP... Para tabelas menores que 1000 registros até a possibilidade de normalizar com o excel ée mais viavel (sim, voce perde menos tempo normalizando pequenas tabelas no excel do que tentanto criar a logica de exportaçao). Agora, se vc tiver que fazer isso em varios clientes ou de tempos em tempos, entao va em frente e use o SSIS

    Att

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    • Marcado como Resposta M. Banagouro quinta-feira, 7 de janeiro de 2010 19:31
    quinta-feira, 7 de janeiro de 2010 18:08
  • Vlw pela resposta galera, era isso que eu queria saber!
    quinta-feira, 7 de janeiro de 2010 19:31
  • Olá Sr. William, estou também tendo dúvidas relacionado a esta migração...

    Tenho um base PostgreSQL e preciso migrar para o SQL Server 2008 R2, o que estou fazendo é:

    Tenho um arquivo .sql que possui a estrutura do postgresql.

    Quando estou criando um projeto pelo SSIS, após instalar o OLE DB do PostgreSQL, eu utilizo 3 componentes no Data Flow

    OLEDB Source (Carregar o .sql)
    Data Conversion (Converter os dados)
    SQL Server Destination (Para o SQL Server)

    Porém, quando  vou visualizar pelo Preview o banco do postgresql, o SQL Server informa um erro de Memória...

    O que poderia ser? 

    outra, seria mais fácil eu ter um arquivo de backup, ou .sql para importar para o SQL Server ?

    O que seria também o csv, conforme o Sr. falou?

    E outra, os esquemas, create table... terá como importar isso também? ou terei que fazer na mão todos os esquemas, e apenas utilizar esse .csv para exportar apenas os registros?

    Se o Sr. pudesse fazer um pequeno artigo, ou video, ou tutorial, passo a passo como fazer esse processo, eu estaria muito grato mais uma vez pela comunidade msdn que tem sempre me ajudado, como a você, muito obrigado!!
    domingo, 19 de setembro de 2010 11:29
  • Utilizei a ferramenta desse site www.fullcopyconvert.com.br
    sábado, 23 de novembro de 2013 14:24