2011-07-18 24 views
6

tengo una base de datos MySQL completa de datos que tengo que mantener, pero migrar a SQL Server 2008.MySQL para la migración de SQL Server

sé de extremo a extremo en que los datos deben ir, una mesa a otra, pero no tengo idea de cómo mover los datos. He buscado en la web, pero parece que hay 'soluciones' que debes descargar y ejecutar. Prefiero, si es posible, hacer algo yo mismo en términos de escritura de scripts o código.

¿Alguien puede recomendar la mejor manera de hacerlo, por favor?

Respuesta

6

usted tiene varias opciones aquí:

  • En el lado del servidor SQL, puede establecer una conexión con su antigua base de datos MySQL usando algo llamado linked server. Esto le permitirá escribir código sql para el servidor sql que devuelve datos de las tablas mysql. Puede usar esto para construir instrucciones INSERT o SELECT INTO.
  • Puede escribir consultas para mysql para exportar sus datos como csv, y luego usar las funciones BULK INSERT del servidor sql para importar de manera eficiente los datos de csv.
  • Puede usar los servicios de integración del servidor Sql para establecer el movimiento de los datos desde mysql.

Independientemente de lo que elija, los artefactos que no son de datos como los índices, las claves externas, los desencadenantes, los procedimientos almacenados y la seguridad tendrán que moverse manualmente.

+0

+1 La opción del servidor vinculado es probablemente la forma en que lo manejaría. Necesitará un conector ODBC para MySQL en la máquina de SQL Server. –

0

Lo hice una vez, hace algún tiempo. En primer lugar, podría unirla su servidor MSSQL al servidor MySQL usando el conector ODBC MySQL

http://dev.mysql.com/downloads/connector/

Una vez establecida la conexión que se puede escribir procedimiento de base de datos como lo haría si se tratara de dos mssql de db. Probablemente sea más fácil escribir algunos scripts por lotes sql, incluido un cursor donde se ejecuta cada una de las filas de una tabla y se decide sobre el terreno donde se necesita el campo en el futuro.

ejemplo de un cursor: http://www.mssqltips.com/tip.asp?tip=1599

Si usted decide ir con el cursor, se puede jugar con el parámetro para aumentar el rendimiento. Recuerdo especialmente el parámetro FORWARD_ONLY que proporciona un gran impulso.

0

Puede utilizar el Asistente para importación/exportación que viene con SQL Server Standard Edition.

Seleccione su 'origen de datos' de MySQL utilizando la fuente de datos ODBC. Nota: Primero deberá instalar el controlador ODBC para MySQL (ODBC Connector). Luego, seleccione su destino de SQL Server. Seleccione todas las tablas y enciéndalas.Necesitará agregar sus claves primarias y extranjeras, e índices manualmente.

Un medio más automatizado sería utilizando el SQL Server Migration Assistant for MySQL, también gratis. Tiene la ventaja de recrear automáticamente las relaciones y los índices. Probablemente tu mejor opción.