web-dev-qa-db-fra.com

Besoin de migrer SQL Server vers MySQL

J'ai une base de données sur SQL Server 2008 sur un serveur Windows et je souhaite déplacer toutes les données vers une base de données MySQL sur un serveur Ubuntu. J'ai essayé d'utiliser le serveur d'importation et d'exportation SQL Server Wizard avec le pilote MySQL ODBC pilote, et il accède correctement aux deux bases de données, mais les fichiers xml contenant les spécifications pour la conversion de type n'existait pas et les spécifications étaient trop limitées pour que je puisse les créer correctement. Quelqu'un sait-il comment créer les fichiers de conversion de type ou où trouver un meilleur outil pour transférer ces données?

22
murgatroid99

Sur la base de la suggestion de Marian, j'ai trouvé cette réponse sur la réplication dans l'autre sens en configurant le serveur MySQL en tant que serveur lié dans MS SQL Server. Avec MySQL configuré en tant que serveur lié, je peux exécuter des requêtes SQL sur les deux bases de données en même temps, ce qui fournit exactement les fonctionnalités dont j'avais besoin pour résoudre ce problème.

4
murgatroid99

J'ai deux suggestions:

1) Je déteste proposer des produits commerciaux mais il y a 49,00 $ d'outils pour migrer MSSQL vers MySQL

2) Essayez les forums de migration MSSQL de MySQL pour d'autres suggestions

MISE À JOUR 2011-06-03 18:03 EDT

Il y a un ancien produit qui est passé en fin de vie en janvier 2010 appelé MySQL Migration Toolkit . Si vous pouvez vous en procurer, vous pouvez l'utiliser.

MISE À JOUR 2011-06-03 18:06 EDT

J'ai trouvé les archives !!! Voici le MySQL Migration Toolkit

MISE À JOUR 2011-06-03 18:11 EDT

Voici le MySQL Migration Toolkit Overview

MISE À JOUR 2011-06-03 19:08 EDT

n autre produit commercial (29 $)

MISE À JOUR 2011-06-03 19:30 EDT

Voici une liste des outils Freeware qui migrent MSSQL vers MySQL.

MISE À JOUR 2011-06-15 17:47 EDT

Obtenez le WhitePaper (PDF) d'Oracle sur le Guide de migration de Microsoft SQL Server vers MySQL (Still Commercial)

MISE À JOUR 2012-08-21 01:24 EDT

Selon cette page Web MySQL , la section MySQL Workbench: Database Migration Wizard affirme que MySQL Workbench a la capacité de migrer des objets de base de données de SQL Server vers MySQL.

13
RolandoMySQLDBA

MySQL Workbench peut le faire:

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

Il peut être installé directement sur la machine MS SQL Server (avantage de vitesse!), Qui doit pouvoir accéder à votre serveur Ubuntu MySQL.

3
mit

Avez-vous envisagé d'utiliser SSIS pour cette tâche? Il s'agit de l'outil ETL pour SQL Server et il contient de nombreuses transformations et logiques qui pourraient vous aider à effectuer cette tâche.

3
SQLChicken

J'ai récemment publié etlalchemy pour accomplir cette tâche. Il s'agit d'une solution open source qui permet la migration entre 2 bases de données SQL avec 4 lignes de Python . Les SGBDR pris en charge incluent MySQL, PostgreSQL, Oracle, SQLite et SQL Server.

Cela permettra de s'acquitter de la tâche ardue de mapper les types de colonnes d'un fournisseur SQL à ceux d'un autre. Non seulement il transférera et traduira le schéma , mais il fera également migrer toutes les données , les index et les contraintes à travers les bases de données.

À installer:

$ pip install etlalchemy

Sur El Capitan: pip install --ignore-installed etlalchemy

Courir:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

mssql_db_source = ETLAlchemySource("mssql+pyodbc://username:password@DSN")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name", drop_database=True)
mysql_db_target.addSource(mssql_db_source)

Pour obtenir plus d'informations sur les origines du projet, consultez ce post. Si vous rencontrez des erreurs lors de l'exécution de l'outil, ouvrez un problème sur le github repo et je vais rafistoler en moins d'une semaine!

2
The Aelfinn

J'ai essayé Migration toolkit pour importer du serveur SQL vers MySQL. Mais trouvé SQLyog Importez bien les données externes. Je pouvais planifier le processus d'importation et également effectuer les mappages nécessaires pour importer dans une table existante. Téléchargez depuis ici .

enter image description here

2
Jacob

L'outil de migration de MySQL Workbench peut vous aider à effectuer cette tâche

1) Pour démarrer le processus de migration, sur l'écran principal de MySQL Workbench, allez dans Database-> Migration Wizard.

2) Nous devons vérifier les conditions préalables pour confirmer si nous pouvons continuer la tâche. Si tout va bien, nous pouvons appuyer sur Démarrer la migration.

3) Dans cette étape, nous devons fournir les informations sur la base de données source, dans ce cas, SQL Server.

Nous allons configurer notre paramètre source:

Système de base de données: Microsoft SQL Server

Méthode de connexion: ODBC (Native)

Pilote: SQL Server

Serveur: localhost

Nom d'utilisateur: sa

4) Maintenant, nous pouvons vérifier la connexion en utilisant le bouton Tester la connexion.

5) Ensuite, nous devons ajouter les paramètres cibles:

Méthode de connexion: Standard (TCP/IP)

Nom d'hôte: Your_Host_name

Port: 3306

Nom d'utilisateur: migration

6) Et appuyez sur Tester la connexion pour confirmer les informations ajoutées.

7) Dans l'étape suivante, MySQL Workbench se connectera à notre serveur SQL pour récupérer une liste des catalogues et des schémas.

8) Maintenant, nous allons choisir la base de données Your_database_name dans la liste.

Nous pouvons choisir la façon dont les schémas et l'objet de rétro-ingénierie doivent être mappés. Nous utiliserons l'option Catalog.Schema.Table -> Catalog.Table, donc dans notre MySQL, nous aurons sélectionné la base de données et les tables actuelles que nous avons dans notre base de données SQL Server.

9) Si tout s'est bien passé, nous aurons une liste d'objets à migrer.

10) Dans ce cas, nous avons des objets de table, des objets de vue et des objets de routine. Nous ne sélectionnerons que les objets de table, car pour le reste de l'objet, nous devons vérifier manuellement le code équivalent MySQL correspondant.

11) Dans cette étape, les objets de la source sont convertis en objets compatibles MySQL.

12) Si tout s'est bien passé, nous pouvons continuer en sélectionnant la façon dont nous voulons créer le schéma migré dans la cible. Nous utiliserons l'option par défaut "Créer un schéma dans le SGBDR cible".

13) Maintenant, vérifions le processus du schéma de création.

14) Dans l'étape suivante, nous pouvons vérifier le résultat de chaque exécution de script, et nous pouvons vérifier la nouvelle base de données créée sur notre serveur MySQL.

15) À ce stade, nous aurons la structure de la base de données, mais nous n'avons pas encore les données. Maintenant, nous allons sélectionner la façon dont nous voulons copier les données sur le serveur MySQL. Nous utiliserons l'option "Copie en ligne des données de table pour cibler le SGBDR".

16) Dans la dernière étape, nous pouvons vérifier le rapport de migration et terminer la tâche.

Une autre méthode simple de conversion d'une base de données MS SQL en MySQL consiste à utiliser l'outil de bricolage de Stellar nommé Stellar Converter for Database qui peut directement choisir le fichier de base de données d'une base de données spécifique et fournir un aperçu des tables convertibles et après la conversion stockera directement les données dans la base de données spécifiée installé sur votre système. Dans ce cas, vous devrez fournir un fichier de base de données MS SQL et après la conversion, il sera stocké dans la base de données MySQL installée dans le système. Vous pouvez obtenir la version gratuite de ce logiciel auprès de Stellar's Site Web officiel .

0
Priyanka