PDA

Ver la Versión Completa : Mysql a SQL Server


ekstase
27-12-2009, 01:27:42
Hola amigos, les cuento. Tengo una Base de Datos creada con Mysql y quiero mudarla a SQL Server, solo quiero saber si se puede, despues busco como en San google, xq q estado intentando importa la BD, pero no le encuentro, note que las extensiones de los archivos de BD de SQL Server son *.LDF y *.MDF y en Mysql son *.FRM, *.MYD, *.MYI... no encuentro como importalos. Y otra pregunta, con la aplicación que hice en delphi 7, no habrá probelma con los comandos de consulta? son consultas sencillas básicas, la BD está compuesta x tres tablas y no están relacionadas, hay un campo numerico y 5 char nada mas. Desde ya Gracias. Gustavo - Argentina - Tucumán.

droguerman
27-12-2009, 03:09:45
en la línea de comandos escribir:

mysqldump BaseDatos --skip-set-charset -u root > backup.sql

AzidRain
27-12-2009, 23:35:27
Es correcto lo que dice droguerman pero no siempre funciona el script resultante ya que hay algunas pequeñas diferencias respecto a SQL Server, principalmente en lo que respecta a tipos de datos y alguno que otro comando. Puedes probar si SQL Server lo acepta y crea las tablas correctamente. Recordemos que el comando mysqldump nos genera un script que al ejecutarse en otro servidor nos recrea una copia exacta de la que respaldamos. Una ventaja de esta forma es que el archivo generado es texto plano por lo que se puede editar o bien comprimir logrando resultados sorprendetes. Por ejemplo, tengo por ahi una base de datos que pesa unos 800 Megas pues son casi 75 tablas y algunas de estas tablas ya rondan por los 200 mil registros. El respaldo via mysqldump comprimido con 7z pesa tan solo 14 megas.

droguerman
28-12-2009, 03:50:41
Gracias por corregirme y acotar AzidRain, realmente mysqldump no siempre genera un archivo 100% SQL ANSI-92, es cuestión de jugar con los parámetros, yo sólo incluí la opción de no considerar los charset pero se pueden añadir más cosas.

Neftali [Germán.Estévez]
28-12-2009, 10:47:52
También puedes probar con la utilidad DataPump que viene con Delphi.
Si consigues conectar ambas Base de Datos, no te será difícil migrar los Datos.

mamcx
28-12-2009, 19:17:38
Existen varias maneras de hacerlo. La mas comun es usar DTS (http://msdn.microsoft.com/en-us/library/aa933484(SQL.80).aspx). En el administrador corporativo hay una opcion que dice "importar" y desde alli puedes conectarte por ODBC y/o OLEDB a cualquier otra base de datos. Los DTS se encargan de recrear las tablas y de cargar los datos.

La forma manual es usando "Servidores vinculados /Linked Servers" http://msdn.microsoft.com/en-us/library/ms188279.aspx, lo que significa que puedes consultar a MySql desde Sql Server *directamente* e incluso crear vistas basadas en MySql y cosas asi.

Pero con los DTS es lo mas facil. Te aseguro que lo sacas en cuestion de minutos.

rgstuamigo
29-12-2009, 17:16:58
Desconosco por que razon o motivo estas haciendo la migracion :confused:, pero personalmente yo no lo haria, conociendo las ventajas de MySQL comparada con MS sql Server.:rolleyes::)
Desde luego seria muy importante e interesante conocer los motivos por los cuales decidiste hacer la migracion.:confused::rolleyes:.
Saludos...:)

AzidRain
29-12-2009, 21:18:28
Por experiencia me he encontrado con las siguientes razones para migrar una BD existente en MySQL a SQL Server:

1.- Requerimiento del cliente (a veces hasta capricho)
2.- Para que otras aplicaciones hechas en productos MS puedan acceder más fácilmente a los datos (a pesar de los costos)
3.- Para integrarlos con datos ya existentes en SQL Server.
4.- Porque el cliente ya tiene comprada la licencia de SQL Server por "recomendación" del vendedor.

Casi nunca es por verdaderas ventajas de uno sobre otro, al menos hasta la fecha hemos desarrollado siempre en MySQL y nunca hemos tenido necesidad de pensar en otra BD. Inclusive ni en FB que tiene lo suyo también, aunque en éste último caso sí tenemos 2 que 3 proyectillos trabjando en eso.