Eu tenho um banco de dados no PostgreSQL 8.3.1 que gostaria de migrar para o MS SQL Server 2005 (ou talvez 2008), incluindo o esquema da tabela e os dados. O banco de dados tem cerca de 50 GB de tamanho e cerca de 400.000.000 de linhas, então acho que instruções INSERT simples estão fora de questão. Alguém poderia recomendar a melhor ferramenta para realizar essa migração? Obviamente, ele precisa ser confiável; portanto, os dados são exatamente os mesmos no banco de dados de destino e no de origem e precisam ser capazes de copiar esse volume de dados dentro de um prazo razoável.
8
Respostas:
Acabei não usando nenhuma ferramenta de terceiros para os dados, pois nenhuma das que tentei funcionou para as tabelas grandes. Até o SSIS falhou. Eu usei uma ferramenta comercial para o esquema, no entanto. Portanto, meu processo de conversão foi o seguinte:
A etapa de transformação resolveu algumas diferenças nos formatos usados por pg_dump e bcp, como:
Também descobri que algumas restrições únicas que eram boas no Postgres foram violadas no MSSQL, então tive que removê-las. Isso ocorreu porque NULL = NULL no MSSQL (ou seja, NULL é tratado como um valor exclusivo), mas não no Postgres.
fonte
Se você possui os drivers de suporte adequados do Postgres instalados na sua caixa do SQL 2005 (ou deseja usar o Postgres via ODBC, ou deseja despejar os dados do Postgres em um arquivo e importá-lo), use o assistente de importação / exportação no SQL Server em para copiar os dados. Isso fará uma variedade de perguntas e, em seguida, executa a importação como um trabalho de pacote do SQL Server Integration Services (SSIS), usando operações de inserção em lote apropriadas.
No entanto, se esse assistente não for uma opção, vale a pena considerar que, embora você tenha um grande número de linhas, o tamanho individual das linhas é <135 bytes em média e recebe espaço suficiente no log de transações para permitir uma transação de 50 GB ' instruções simples de inserção não estão fora de questão.
fonte
http://www.easyfrom.net/
Lá vai você :) Infelizmente, é um pouco caro.
fonte
Quase 10 anos depois, e isso ainda não é uma questão direta. Acabei com uma solução híbrida, rolei meu próprio mapeador de esquema exportando os comentários de esquema e tabela / coluna usando o seguinte comando:
Em seguida, escrevi um script PHP que traduzia o esquema para T-SQL. Posteriormente, usei o seguinte software de terceiros para fazer a importação real de linhas (sem afiliação):
http://www.convert-in.com/pgs2mss.htm
Foi um pouco lento, mas até agora tudo bem. Nosso banco de dados era menor que o seu, apenas 15 GB, mas essa ferramenta parecia lidar bem com isso. Também foi o mais barato que pude encontrar por cerca de US $ 50. Até agora, valeu a pena investir.
fonte