Tengo una base de datos en PostgreSQL 8.3.1 que me gustaría migrar a MS SQL Server 2005 (o tal vez 2008), que incluye tanto el esquema de la tabla como los datos. La base de datos tiene un tamaño de aproximadamente 50 GB con aproximadamente 400,000,000 filas, por lo que creo que las declaraciones INSERT simples están fuera de discusión. ¿Alguien podría recomendar la mejor herramienta para realizar esta migración? Obviamente, debe ser confiable, por lo que los datos son exactamente los mismos en la base de datos de destino que en la fuente y debe poder copiar este volumen de datos en un tiempo razonable.
8
Respuestas:
Terminé sin usar ninguna herramienta de terceros para los datos, ya que ninguno de los que probé funcionó para las tablas grandes. Incluso SSIS falló. Sin embargo, sí utilicé una herramienta comercial para el esquema. Entonces mi proceso de conversión fue el siguiente:
El paso de transformación se ocupó de algunas diferencias en los formatos utilizados por pg_dump y bcp, como:
También descubrí que algunas restricciones únicas que estaban bien en Postgres se violaron en MSSQL, por lo que tuve que eliminarlas. Esto se debió a que NULL = NULL en MSSQL (es decir, NULL se trata como un valor único), pero no en Postgres.
fuente
Si tiene instalados los controladores de soporte Postgres apropiados en su caja SQL 2005 (o desea usar Postgres a través de ODBC, o desea volcar los datos de Postgres a un archivo e importar desde ese), puede usar el asistente de importación / exportación en SQL Server en Para copiar los datos. Esto le hará una variedad de preguntas y luego ejecutará la importación como un paquete de trabajo de SQL Server Integration Services (SSIS), utilizando las operaciones de inserción por lotes apropiadas.
Sin embargo, si ese asistente no es una opción, vale la pena considerar que, aunque tiene una gran cantidad de filas, el tamaño individual de las filas es <135 bytes en promedio y se le da suficiente espacio de registro de transacciones para permitir que ocurra una transacción de 50 GB ' las declaraciones de inserción simple no están fuera de discusión.
fuente
http://www.easyfrom.net/
Ahí tienes :) Desafortunadamente, es un poco caro.
fuente
Casi 10 años después, y esto todavía no es un problema directo. Terminé con una solución híbrida, hice rodar mi propio mapeador de esquemas exportando el esquema y los comentarios de tabla / columna usando el siguiente comando:
Luego escribí un script PHP que tradujo el esquema a T-SQL. Posteriormente, utilicé el siguiente software de terceros para realizar la importación real de filas (sin afiliación):
http://www.convert-in.com/pgs2mss.htm
Fue un poco lento, pero hasta ahora muy bueno. Nuestra base de datos era más pequeña que la suya, solo 15GB, pero esa herramienta parecía manejarla bien. También fue el más barato que pude encontrar en alrededor de $ 50. Hasta ahora ha valido la pena la inversión.
fuente